[Info-vax] IA64 assembler file in shared image - ILINK-W-NOTPMTIDX

hb end.of at inter.net
Sun Mar 22 06:12:09 EDT 2015


On 03/22/2015 03:14 AM, John E. Malmberg wrote:
> What is an ltoff22x relocation and how do I recognize it in the source?

Sorry, it was late and I thought you would be able to spot it. The
corresponding "operator" in the source code is @ltoffx(). For this the
assembler generates an ltoff22x relocation; the following ld8.mov 
triggers the incorrect ldxmov relocation. (Whether this can be coded 
without the @ltoffx is a different question).

$ cre x.ias
... the source
^Z
$ cre x.opt
symbol_vector=(ffi_call_unix=procedure)
^Z
$
$ ias x.ias
Module name: X. Module version: V1.0.
Itanium(R) Assembler, v7.0U Version 7.00.4326
Copyright (C) 1985-2002 Intel Corporation. All rights reserved.

$ link/share x.o,x/opt
%ILINK-W-NUDFSYMS, 1 undefined symbol:
%ILINK-I-UDFSYM,        FFI_CLOSURE_UNIX_INNER
%ILINK-W-NOTPMTIDX,  section (index 0x00000000) encountered when trying 
to index PMT
         module: X
         file: DISK$USER:[USER]X.O;1
%ILINK-W-USEUNDEF, undefined symbol FFI_CLOSURE_UNIX_INNER referenced
         section: .text
         offset: %X0000000000000530  slot: 2
         module: X
         file: DISK$USER:[USER]X.O;1
%ILINK-W-NOTPMTIDX,  section (index 0x00000000) encountered when trying 
to index PMT
         module: X
         file: DISK$USER:[USER]X.O;1
$
$ edit x.ias
... make symbols global
$
$ diff x.ias
************
File DISK$USER:[USER]X.IAS;2
   134           .global .Lst_table
   135           addl    r18 = @ltoffx(.Lst_table), gp
******
File DISK$USER:[USER]X.IAS;1
   134           addl    r18 = @ltoffx(.Lst_table), gp
************
************
File DISK$USER:[USER]X.IAS;2
   384           .global .Lld_table
   385           addl    r18 = @ltoffx(.Lld_table), gp
******
File DISK$USER:[USER]X.IAS;1
   383           addl    r18 = @ltoffx(.Lld_table), gp
************

Number of difference sections found: 2
Number of difference records found: 2

DIFFERENCES /MERGED=1-
     DISK$USER:[USER]X.IAS;2-
     DISK$USER:[USER]X.IAS;1
$
$ ias x.ias
Module name: X. Module version: V1.0.
Itanium(R) Assembler, v7.0U Version 7.00.4326
Copyright (C) 1985-2002 Intel Corporation. All rights reserved.

$
$ link/share x.o,x/opt
%ILINK-W-NUDFSYMS, 1 undefined symbol:
%ILINK-I-UDFSYM,        FFI_CLOSURE_UNIX_INNER
%ILINK-W-USEUNDEF, undefined symbol FFI_CLOSURE_UNIX_INNER referenced
         section: .text
         offset: %X0000000000000530  slot: 2
         module: X
         file: DISK$USER:[USER]X.O;2
$



More information about the Info-vax mailing list