public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* ARM linker will allow linking with non-arm object files
@ 2002-02-15 12:33 Faisal Akber
  2002-03-01  3:19 ` Nick Clifton
  0 siblings, 1 reply; 2+ messages in thread
From: Faisal Akber @ 2002-02-15 12:33 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 533 bytes --]

Hi,

I have just noticed a problem with the ARM linker.  I'm using
binutils-2.11.2.  The target is arm-elf.

The problem I'm encountering is that the linker will link in objects
that have been compiled for other targets.

The main one I see is that arm-elf and i386-linux.  The linker doesn't
complain at all about this error.

Is this correct?  Has anybody else seen this?

A test case and readelf output is attached.

Thanks,

Faisal Akber

-- 
73 DE VA3SFA
Faisal Akber -- Arcturus Networks Inc. -- fakber@arcturusnetworks.com




[-- Attachment #2: output.txt --]
[-- Type: text/plain, Size: 28845 bytes --]

gcc -c intel.c
arm-elf-gcc -c arm.c
arm-elf-gcc intel.o arm.o -o test
readelf -a intel.o
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           Intel 80386
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          236 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         9
  Section header string table index: 6

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00       0   0 0
  [ 1] .text             PROGBITS        00000000 000040 000034 00  AX   0   0 16
  [ 2] .data             PROGBITS        00000000 000074 000000 00  WA   0   0 4
  [ 3] .bss              NOBITS          00000000 000074 000000 00  WA   0   0 4
  [ 4] .note             NOTE            00000000 000074 000014 00       0   0 1
  [ 5] .comment          PROGBITS        00000000 000088 000026 00       0   0 1
  [ 6] .shstrtab         STRTAB          00000000 0000ae 00003b 00       0   0 1
  [ 7] .symtab           SYMTAB          00000000 000254 0000a0 10       8   8 4
  [ 8] .strtab           STRTAB          00000000 0002f4 00002c 00       0   0 1
Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings)
              I (info), L (link order), O (extra OS processing required)
              o (os specific), p (processor specific) x (unknown)

There are no program headers in this file.

There is no dynamic segment in this file.

There are no relocations in this file.

Symbol table '.symtab' contains 10 entries:
   Num:    Value  Size Type    Bind   Vis      Ot Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  0  UND 
     1: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS intel.c
     2: 00000000     0 SECTION LOCAL  DEFAULT  0    1 
     3: 00000000     0 SECTION LOCAL  DEFAULT  0    2 
     4: 00000000     0 SECTION LOCAL  DEFAULT  0    3 
     5: 00000000     0 NOTYPE  LOCAL  DEFAULT  0    1 gcc2_compiled.
     6: 00000000     0 SECTION LOCAL  DEFAULT  0    4 
     7: 00000000     0 SECTION LOCAL  DEFAULT  0    5 
     8: 00000000    20 FUNC    GLOBAL DEFAULT  0    1 intel_fn0
     9: 00000020    20 FUNC    GLOBAL DEFAULT  0    1 intel_fn1

No version information found in this file.
readelf -a arm.o
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            <unknown: 61>
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          448 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         9
  Section header string table index: 6

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00       0   0 0
  [ 1] .text             PROGBITS        00000000 000034 0000ec 00  AX   0   0 4
  [ 2] .rel.text         REL             00000000 000450 000070 08       7   1 4
  [ 3] .data             PROGBITS        00000000 000120 000000 00  WA   0   0 1
  [ 4] .bss              NOBITS          00000000 000120 000000 00  WA   0   0 1
  [ 5] .rodata           PROGBITS        00000000 000120 000060 00   A   0   0 4
  [ 6] .shstrtab         STRTAB          00000000 000180 00003e 00       0   0 1
  [ 7] .symtab           SYMTAB          00000000 000328 0000e0 10       8   6 4
  [ 8] .strtab           STRTAB          00000000 000408 000046 00       0   0 1
Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings)
              I (info), L (link order), O (extra OS processing required)
              o (os specific), p (processor specific) x (unknown)

There are no program headers in this file.

There is no dynamic segment in this file.

Relocation section '.rel.text' at offset 0x450 contains 14 entries:
  Offset    Info  Type            Symbol's Value  Symbol's Name
  00000018  00701 R_ARM_PC24            00000000  __gccmain                
  00000028  00801 R_ARM_PC24            00000000  intel_fn0                
  0000003c  00901 R_ARM_PC24            00000000  printf                   
  00000044  00a01 R_ARM_PC24            00000000  intel_fn1                
  00000058  00901 R_ARM_PC24            00000000  printf                   
  00000060  00b01 R_ARM_PC24            000000ac  arm_fn0                  
  00000074  00901 R_ARM_PC24            00000000  printf                   
  0000007c  00c01 R_ARM_PC24            000000c8  arm_fn1                  
  00000090  00901 R_ARM_PC24            00000000  printf                   
  00000098  00d01 R_ARM_PC24            00000000  exit                     
  0000009c  00502 R_ARM_ABS32           00000000  .rodata                  
  000000a0  00502 R_ARM_ABS32           00000000  .rodata                  
  000000a4  00502 R_ARM_ABS32           00000000  .rodata                  
  000000a8  00502 R_ARM_ABS32           00000000  .rodata                  

Symbol table '.symtab' contains 14 entries:
   Num:    Value  Size Type    Bind   Vis      Ot Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  0  UND 
     1: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS arm.c
     2: 00000000     0 SECTION LOCAL  DEFAULT  0    1 
     3: 00000000     0 SECTION LOCAL  DEFAULT  0    3 
     4: 00000000     0 SECTION LOCAL  DEFAULT  0    4 
     5: 00000000     0 SECTION LOCAL  DEFAULT  0    5 
     6: 00000000   172 FUNC    GLOBAL DEFAULT  0    1 main
     7: 00000000     0 NOTYPE  GLOBAL DEFAULT  0  UND __gccmain
     8: 00000000     0 NOTYPE  GLOBAL DEFAULT  0  UND intel_fn0
     9: 00000000     0 NOTYPE  GLOBAL DEFAULT  0  UND printf
    10: 00000000     0 NOTYPE  GLOBAL DEFAULT  0  UND intel_fn1
    11: 000000ac    28 FUNC    GLOBAL DEFAULT  0    1 arm_fn0
    12: 000000c8    36 FUNC    GLOBAL DEFAULT  0    1 arm_fn1
    13: 00000000     0 NOTYPE  GLOBAL DEFAULT  0  UND exit

No version information found in this file.
readelf -a test
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            <unknown: 61>
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x8000
  Start of program headers:          52 (bytes into file)
  Start of section headers:          67492 (bytes into file)
  Flags:                             0x2
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         1
  Size of section headers:           40 (bytes)
  Number of section headers:         21
  Section header string table index: 18

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00       0   0 0
  [ 1] .text             PROGBITS        00008000 008000 0057e4 00  AX   0   0 16
  [ 2] .rodata           PROGBITS        0000d7e4 00d7e4 0001ec 00   A   0   0 4
  [ 3] .data             PROGBITS        0000dad0 00dad0 0000c0 00  WA   0   0 4
  [ 4] .eh_frame         PROGBITS        0000db90 00db90 000004 00  WA   0   0 4
  [ 5] .ctors            PROGBITS        0000db94 00db94 000008 00  WA   0   0 4
  [ 6] .dtors            PROGBITS        0000db9c 00db9c 000008 00  WA   0   0 4
  [ 7] .sbss             PROGBITS        0000dba4 00dbb0 000000 00   W   0   0 1
  [ 8] .bss              NOBITS          0000dbb0 00dbb0 000480 00  WA   0   0 16
  [ 9] .comment          PROGBITS        00000000 00dbb0 000026 00       0   0 1
  [10] .debug_aranges    PROGBITS        00000000 00dbd6 000240 00       0   0 1
  [11] .debug_pubnames   PROGBITS        00000000 00de16 000381 00       0   0 1
  [12] .debug_info       PROGBITS        00000000 00e197 001045 00       0   0 1
  [13] .debug_abbrev     PROGBITS        00000000 00f1dc 00048b 00       0   0 1
  [14] .debug_line       PROGBITS        00000000 00f667 0004bb 00       0   0 1
  [15] .debug_frame      PROGBITS        00000000 00fb24 000bb0 00       0   0 4
  [16] .stack            PROGBITS        00080000 0106d4 000000 00   W   0   0 1
  [17] .note             NOTE            00000000 0106d4 000014 00       0   0 1
  [18] .shstrtab         STRTAB          00000000 0106e8 0000ba 00       0   0 1
  [19] .symtab           SYMTAB          00000000 010aec 001170 10      20  a9 4
  [20] .strtab           STRTAB          00000000 011c5c 0008f8 00       0   0 1
Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings)
              I (info), L (link order), O (extra OS processing required)
              o (os specific), p (processor specific) x (unknown)

Program Header:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x008000 0x00008000 0x00008000 0x05ba4 0x06030 RWE 0x8000

 Section to Segment mapping:
  Segment Sections...
   00     .text .rodata .data .eh_frame .ctors .dtors .bss 

There is no dynamic segment in this file.

There are no relocations in this file.

Symbol table '.symtab' contains 279 entries:
   Num:    Value  Size Type    Bind   Vis      Ot Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  0  UND 
     1: 00008000     0 SECTION LOCAL  DEFAULT  0    1 
     2: 0000d7e4     0 SECTION LOCAL  DEFAULT  0    2 
     3: 0000dad0     0 SECTION LOCAL  DEFAULT  0    3 
     4: 0000db90     0 SECTION LOCAL  DEFAULT  0    4 
     5: 0000db94     0 SECTION LOCAL  DEFAULT  0    5 
     6: 0000db9c     0 SECTION LOCAL  DEFAULT  0    6 
     7: 0000dba4     0 SECTION LOCAL  DEFAULT  0    7 
     8: 0000dbb0     0 SECTION LOCAL  DEFAULT  0    8 
     9: 00000000     0 SECTION LOCAL  DEFAULT  0    9 
    10: 00000000     0 SECTION LOCAL  DEFAULT  0   10 
    11: 00000000     0 SECTION LOCAL  DEFAULT  0   11 
    12: 00000000     0 SECTION LOCAL  DEFAULT  0   12 
    13: 00000000     0 SECTION LOCAL  DEFAULT  0   13 
    14: 00000000     0 SECTION LOCAL  DEFAULT  0   14 
    15: 00000000     0 SECTION LOCAL  DEFAULT  0   15 
    16: 00080000     0 SECTION LOCAL  DEFAULT  0   16 
    17: 00000000     0 SECTION LOCAL  DEFAULT  0   17 
    18: 00000000     0 SECTION LOCAL  DEFAULT  0   18 
    19: 00000000     0 SECTION LOCAL  DEFAULT  0   19 
    20: 00000000     0 SECTION LOCAL  DEFAULT  0   20 
    21: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS crtstuff.c
    22: 0000dad0     0 OBJECT  LOCAL  DEFAULT  0    3 force_to_data
    23: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS crt0.S
    24: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS intel.c
    25: 00008020     0 NOTYPE  LOCAL  DEFAULT  0    1 gcc2_compiled.
    26: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS arm.c
    27: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS libgcc2.c
    28: 0000dad4     4 OBJECT  LOCAL  DEFAULT  0    3 p.0
    29: 0000dad8     4 OBJECT  LOCAL  DEFAULT  0    3 completed.1
    30: 0000dbb0     0 NOTYPE  LOCAL  DEFAULT  0    8 object.2
    31: 0000dbc8     0 NOTYPE  LOCAL  DEFAULT  0    8 initialized.3
    32: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS unwind-dw2-fde.c
    33: 00008274    96 FUNC    LOCAL  DEFAULT  0    1 size_of_encoded_value
    34: 000082d4   380 FUNC    LOCAL  DEFAULT  0    1 read_encoded_value_with_base
    35: 0000dadc     4 OBJECT  LOCAL  DEFAULT  0    3 object_mutex
    36: 0000914c     8 FUNC    LOCAL  DEFAULT  0    1 __gthread_mutex_lock
    37: 00009154     8 FUNC    LOCAL  DEFAULT  0    1 __gthread_mutex_unlock
    38: 0000dbd0     0 NOTYPE  LOCAL  DEFAULT  0    8 unseen_objects
    39: 0000dbd4     0 NOTYPE  LOCAL  DEFAULT  0    8 seen_objects
    40: 000086cc    96 FUNC    LOCAL  DEFAULT  0    1 base_from_object
    41: 0000872c   188 FUNC    LOCAL  DEFAULT  0    1 get_cie_encoding
    42: 000090e4    36 FUNC    LOCAL  DEFAULT  0    1 read_uleb128
    43: 00009108    36 FUNC    LOCAL  DEFAULT  0    1 read_sleb128
    44: 000087e8    16 FUNC    LOCAL  DEFAULT  0    1 fde_unencoded_compare
    45: 000087f8   132 FUNC    LOCAL  DEFAULT  0    1 fde_single_encoding_compare
    46: 0000887c   148 FUNC    LOCAL  DEFAULT  0    1 fde_mixed_encoding_compare
    47: 0000915c    24 FUNC    LOCAL  DEFAULT  0    1 get_fde_encoding
    48: 0000dbcc     0 NOTYPE  LOCAL  DEFAULT  0    8 marker.0
    49: 00008910   536 FUNC    LOCAL  DEFAULT  0    1 frame_heapsort
    50: 00008b28   284 FUNC    LOCAL  DEFAULT  0    1 classify_object_over_fdes
    51: 0000912c    16 FUNC    LOCAL  DEFAULT  0    1 get_cie
    52: 0000913c    16 FUNC    LOCAL  DEFAULT  0    1 next_fde
    53: 00008c44   276 FUNC    LOCAL  DEFAULT  0    1 add_fdes
    54: 00009174    40 FUNC    LOCAL  DEFAULT  0    1 fde_insert
    55: 00008d58   320 FUNC    LOCAL  DEFAULT  0    1 linear_search_fdes
    56: 00008e98   228 FUNC    LOCAL  DEFAULT  0    1 search_object
    57: 000093f4   208 FUNC    LOCAL  DEFAULT  0    1 binary_search_mixed_encoding_fdes
    58: 00009328   204 FUNC    LOCAL  DEFAULT  0    1 binary_search_single_encoding_fdes
    59: 000092cc    92 FUNC    LOCAL  DEFAULT  0    1 binary_search_unencoded_fdes
    60: 0000919c   304 FUNC    LOCAL  DEFAULT  0    1 init_object
    61: 000094c4   100 FUNC    LOCAL  DEFAULT  0    1 start_fde_sort
    62: 00009528   236 FUNC    LOCAL  DEFAULT  0    1 end_fde_sort
    63: 00009614   268 FUNC    LOCAL  DEFAULT  0    1 fde_split
    64: 00009720   184 FUNC    LOCAL  DEFAULT  0    1 fde_merge
    65: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS __uClibc_main.c
    66: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS printf.c
    67: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS printf.c
    68: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS string.c
    69: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS atexit.c
    70: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS atexit.c
    71: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS abort.c
    72: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS alloc.c
    73: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS alloc.c
    74: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS errno.c
    75: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    76: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    77: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    78: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    79: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    80: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS ultostr.c
    81: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS ltostr.c
    82: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dtostr.c
    83: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS ulltostr.c
    84: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS lltostr.c
    85: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS stdio.c
    86: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS stdio.c
    87: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS stdio.c
    88: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS stdio.c
    89: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS stdio.c
    90: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS printf.c
    91: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS printf.c
    92: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS printf.c
    93: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS string.c
    94: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS termios.c
    95: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS raise.c
    96: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS sigsetops.c
    97: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    98: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
    99: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
   100: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
   101: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS stdio.c
   102: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS syscalls.c
   103: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS /home/fakber/ARM/gcc-3.0.2/gcc/config/arm/lib1funcs.asm
   104: 0000b364     0 NOTYPE  LOCAL  DEFAULT  0    1 Ldiv0
   105: 0000b35c     0 NOTYPE  LOCAL  DEFAULT  0    1 Lgot_result
   106: 0000b2f4     0 NOTYPE  LOCAL  DEFAULT  0    1 Loop1
   107: 0000b308     0 NOTYPE  LOCAL  DEFAULT  0    1 Lbignum
   108: 0000b31c     0 NOTYPE  LOCAL  DEFAULT  0    1 Loop3
   109: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS /home/fakber/ARM/gcc-3.0.2/gcc/config/arm/lib1funcs.asm
   110: 0000b424     0 NOTYPE  LOCAL  DEFAULT  0    1 Ldiv0
   111: 0000b390     0 NOTYPE  LOCAL  DEFAULT  0    1 Loop1
   112: 0000b3a4     0 NOTYPE  LOCAL  DEFAULT  0    1 Lbignum
   113: 0000b3b8     0 NOTYPE  LOCAL  DEFAULT  0    1 Loop3
   114: 0000b3fc     0 NOTYPE  LOCAL  DEFAULT  0    1 Lfixup_dividend
   115: 0000b420     0 NOTYPE  LOCAL  DEFAULT  0    1 Lgot_result
   116: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS /home/fakber/ARM/gcc-3.0.2/gcc/config/arm/lib1funcs.asm
   117: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS libgcc2.c
   118: 0000b458  1644 FUNC    LOCAL  DEFAULT  0    1 __udivmoddi4
   119: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS libgcc2.c
   120: 0000baec  1644 FUNC    LOCAL  DEFAULT  0    1 __udivmoddi4
   121: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS libgcc2.c
   122: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   123: 0000c158   772 FUNC    LOCAL  DEFAULT  0    1 _fpadd_parts
   124: 0000c534    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   125: 0000c548    20 FUNC    LOCAL  DEFAULT  0    1 isinf
   126: 0000c528    12 FUNC    LOCAL  DEFAULT  0    1 nan
   127: 0000c55c    20 FUNC    LOCAL  DEFAULT  0    1 iszero
   128: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   129: 0000c5d0  1108 FUNC    LOCAL  DEFAULT  0    1 _fpmul_parts
   130: 0000ca30    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   131: 0000ca44    20 FUNC    LOCAL  DEFAULT  0    1 isinf
   132: 0000ca58    20 FUNC    LOCAL  DEFAULT  0    1 iszero
   133: 0000ca24    12 FUNC    LOCAL  DEFAULT  0    1 nan
   134: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   135: 0000cac8   580 FUNC    LOCAL  DEFAULT  0    1 _fpdiv_parts
   136: 0000cd18    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   137: 0000cd2c    20 FUNC    LOCAL  DEFAULT  0    1 isinf
   138: 0000cd0c    12 FUNC    LOCAL  DEFAULT  0    1 nan
   139: 0000cd40    20 FUNC    LOCAL  DEFAULT  0    1 iszero
   140: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   141: 0000cddc    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   142: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   143: 0000ce78    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   144: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   145: 0000cf14    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   146: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   147: 0000cfb0    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   148: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   149: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   150: 0000d17c    20 FUNC    LOCAL  DEFAULT  0    1 iszero
   151: 0000d154    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   152: 0000d168    20 FUNC    LOCAL  DEFAULT  0    1 isinf
   153: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   154: 0000d1d4    24 FUNC    LOCAL  DEFAULT  0    1 flip_sign
   155: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   156: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS libgcc2.c
   157: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   158: 0000d48c    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   159: 0000d4a0    20 FUNC    LOCAL  DEFAULT  0    1 isinf
   160: 0000d4b4    20 FUNC    LOCAL  DEFAULT  0    1 iszero
   161: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   162: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS dp-bit.c
   163: 0000d7a8    20 FUNC    LOCAL  DEFAULT  0    1 isnan
   164: 0000d7bc    20 FUNC    LOCAL  DEFAULT  0    1 isinf
   165: 0000d7d0    20 FUNC    LOCAL  DEFAULT  0    1 iszero
   166: 00000000     0 FILE    LOCAL  DEFAULT  0  ABS crtstuff.c
   167: 0000db8c     0 OBJECT  LOCAL  DEFAULT  0    3 force_to_data
   168: 0000db90     0 OBJECT  LOCAL  DEFAULT  0    4 __FRAME_END__
   169: 00008f7c   360 FUNC    GLOBAL DEFAULT  0    1 _Unwind_Find_FDE
   170: 0000cd54   136 FUNC    GLOBAL DEFAULT  0    1 __eqdf2
   171: 0000b1a0    28 FUNC    GLOBAL DEFAULT  0    1 ioctl
   172: 00009830    48 FUNC    GLOBAL DEFAULT  0    1 printf
   173: 0000db78     4 OBJECT  GLOBAL DEFAULT  0    3 stdout
   174: 000084d4    40 FUNC    GLOBAL DEFAULT  0    1 __register_frame
   175: 0000b088    40 FUNC    GLOBAL DEFAULT  0    1 __sigdelset
   176: 0000a300    60 FUNC    GLOBAL DEFAULT  0    1 munmap
   177: 0000b0b0    68 FUNC    WEAK   DEFAULT  0    1 __write
   178: 0000e030     0 OBJECT  GLOBAL DEFAULT  0  ABS _bss_end__
   179: 0000daf0     4 OBJECT  GLOBAL DEFAULT  0    3 errno
   180: 0000b0f4    44 FUNC    GLOBAL DEFAULT  0    1 getpid
   181: 0000cfc4   196 FUNC    GLOBAL DEFAULT  0    1 __floatsidf
   182: 0000db88     1 OBJECT  GLOBAL DEFAULT  0    3 _free_buffer_index
   183: 0000cf28   136 FUNC    GLOBAL DEFAULT  0    1 __ltdf2
   184: 0000dba0     0 OBJECT  GLOBAL DEFAULT  0    6 __DTOR_END__
   185: 0000a450  1796 FUNC    GLOBAL DEFAULT  0    1 __dtostr
   186: 0000a1b8    72 FUNC    GLOBAL DEFAULT  0    1 malloc
   187: 0000b2dc   152 FUNC    GLOBAL DEFAULT  0    1 __udivsi3
   188: 0000afec    48 FUNC    GLOBAL DEFAULT  0    1 isatty
   189: 0000a408    72 FUNC    GLOBAL DEFAULT  0    1 __ltostr
   190: 0000af60    72 FUNC    GLOBAL DEFAULT  0    1 vsnprintf
   191: 0000824c    40 FUNC    GLOBAL DEFAULT  0    1 __gccmain
   192: 00009860  1776 FUNC    GLOBAL DEFAULT  0    1 vfnprintf
   193: 0000dba4     0 OBJECT  GLOBAL DEFAULT  0  ABS __bss_start__
   194: 00008100    28 FUNC    GLOBAL DEFAULT  0    1 arm_fn0
   195: 0000ad8c   432 FUNC    GLOBAL DEFAULT  0    1 _uClibc_fwrite
   196: 0000d4c8   336 FUNC    GLOBAL DEFAULT  0    1 __unpack_d
   197: 0000ac9c   172 FUNC    GLOBAL DEFAULT  0    1 fflush
   198: 0000c45c    96 FUNC    GLOBAL DEFAULT  0    1 __adddf3
   199: 0000bac4    40 FUNC    GLOBAL DEFAULT  0    1 __umoddi3
   200: 0000b298    68 FUNC    GLOBAL DEFAULT  0    1 lseek
   201: 0000dae4     4 OBJECT  GLOBAL DEFAULT  0    3 __environ
   202: 0000db14    96 OBJECT  GLOBAL DEFAULT  0    3 _stdio_streams
   203: 0000a2c0    64 FUNC    GLOBAL DEFAULT  0    1 mmap
   204: 0000b438    32 FUNC    GLOBAL DEFAULT  0    1 __udivdi3
   205: 0000a090   296 FUNC    GLOBAL DEFAULT  0    1 abort
   206: 0000db84     4 OBJECT  GLOBAL DEFAULT  0    3 _free_file_list
   207: 0000858c    40 FUNC    GLOBAL DEFAULT  0    1 __register_frame_table
   208: 0000dc30  1024 OBJECT  GLOBAL DEFAULT  0    8 _fixed_buffers
   209: 0000b060    40 FUNC    GLOBAL DEFAULT  0    1 __sigaddset
   210: 0000d088   204 FUNC    GLOBAL DEFAULT  0    1 __fixdfsi
   211: 00008450   104 FUNC    GLOBAL DEFAULT  0    1 __register_frame_info_bases
   212: 0000b0b0    68 FUNC    GLOBAL DEFAULT  0    1 write
   213: 0000dae4     4 OBJECT  WEAK   DEFAULT  0    3 environ
   214: 0000d1ec    72 FUNC    GLOBAL DEFAULT  0    1 __lshrdi3
   215: 0000b120    60 FUNC    GLOBAL DEFAULT  0    1 kill
   216: 00008040    20 FUNC    GLOBAL DEFAULT  0    1 intel_fn1
   217: 0000b374   192 FUNC    GLOBAL DEFAULT  0    1 __umodsi3
   218: 000086a0    20 FUNC    GLOBAL DEFAULT  0    1 __deregister_frame_info
   219: 00008140   120 FUNC    GLOBAL DEFAULT  0    1 __do_global_dtors
   220: 0000b1bc   220 FUNC    GLOBAL DEFAULT  0    1 fseek
   221: 0000db94     0 OBJECT  GLOBAL DEFAULT  0    5 __CTOR_LIST__
   222: 0000e030     0 OBJECT  GLOBAL DEFAULT  0  ABS __bss_end__
   223: 0000db74     4 OBJECT  GLOBAL DEFAULT  0    3 stdin
   224: 00008000     0 FUNC    GLOBAL DEFAULT  0    1 _start
   225: 000085b4   236 FUNC    GLOBAL DEFAULT  0    1 __deregister_frame_info_bases
   226: 0000ac90    12 FUNC    GLOBAL DEFAULT  0    1 ferror
   227: 0000ac64    44 FUNC    GLOBAL DEFAULT  0    1 __init_stdio
   228: 0000d618   400 FUNC    GLOBAL DEFAULT  0    1 __fpcmp_parts_d
   229: 0000d190    68 FUNC    GLOBAL DEFAULT  0    1 __negdf2
   230: 0000ca6c    92 FUNC    GLOBAL DEFAULT  0    1 __divdf3
   231: 0000a248    68 FUNC    GLOBAL DEFAULT  0    1 sigaction
   232: 0000c570    96 FUNC    GLOBAL DEFAULT  0    1 __muldf3
   233: 000097d8    88 FUNC    GLOBAL DEFAULT  0    1 __uClibc_main
   234: 0000b03c    36 FUNC    GLOBAL DEFAULT  0    1 __sigismember
   235: 0000dba4     0 OBJECT  GLOBAL DEFAULT  0  ABS __bss_start
   236: 0000afc8    36 FUNC    GLOBAL DEFAULT  0    1 memset
   237: 00008054   172 FUNC    GLOBAL DEFAULT  0    1 main
   238: 0000b434     4 FUNC    GLOBAL DEFAULT  0    1 __div0
   239: 000084fc   116 FUNC    GLOBAL DEFAULT  0    1 __register_frame_info_table_bases
   240: 0000e030     0 OBJECT  GLOBAL DEFAULT  0  ABS __end__
   241: 0000811c    36 FUNC    GLOBAL DEFAULT  0    1 arm_fn1
   242: 0000ab54   168 FUNC    GLOBAL DEFAULT  0    1 __ulltostr
   243: 0000d9bc    20 OBJECT  GLOBAL DEFAULT  0    2 __thenan_df
   244: 0000db98     0 OBJECT  GLOBAL DEFAULT  0    5 __CTOR_END__
   245: 0000db9c     0 OBJECT  GLOBAL DEFAULT  0    6 __DTOR_LIST__
   246: 0000cdf0   136 FUNC    GLOBAL DEFAULT  0    1 __nedf2
   247: 000086b4    24 FUNC    GLOBAL DEFAULT  0    1 __deregister_frame
   248: 0000afa8    32 FUNC    GLOBAL DEFAULT  0    1 fnprintf
   249: 0000af3c    36 FUNC    GLOBAL DEFAULT  0    1 sprintf
   250: 0000d8bc   256 OBJECT  GLOBAL DEFAULT  0    2 __clz_tab
   251: 00009fdc   128 FUNC    GLOBAL DEFAULT  0    1 atexit
   252: 0000db7c     4 OBJECT  GLOBAL DEFAULT  0    3 stderr
   253: 0000ad48    68 FUNC    GLOBAL DEFAULT  0    1 fputc
   254: 0000ac54    16 FUNC    GLOBAL DEFAULT  0    1 __stdio_close_all
   255: 0000db90     0 OBJECT  GLOBAL DEFAULT  0    4 __EH_FRAME_BEGIN__
   256: 0000dba4     0 OBJECT  GLOBAL DEFAULT  0  ABS _edata
   257: 00008020    20 FUNC    GLOBAL DEFAULT  0    1 intel_fn0
   258: 0000e030     0 OBJECT  GLOBAL DEFAULT  0  ABS _end
   259: 0000abfc    88 FUNC    GLOBAL DEFAULT  0    1 __lltostr
   260: 0000a210    12 FUNC    WEAK   DEFAULT  0    1 __errno_location
   261: 0000a05c    52 FUNC    GLOBAL DEFAULT  0    1 exit
   262: 0000b15c    68 FUNC    GLOBAL DEFAULT  0    1 _ioctl
   263: 0000db80     4 OBJECT  GLOBAL DEFAULT  0    3 __IO_list
   264: 0000a21c    44 FUNC    GLOBAL DEFAULT  0    1 _exit
   265: 0000a380   136 FUNC    GLOBAL DEFAULT  0    1 __ultostr
   266: 0000dae0     4 OBJECT  GLOBAL DEFAULT  0    3 __uClibc_cleanup
   267: 0000a28c    52 FUNC    GLOBAL DEFAULT  0    1 _mmap
   268: 00009f50    36 FUNC    GLOBAL DEFAULT  0    1 strlen
   269: 0000ce8c   136 FUNC    GLOBAL DEFAULT  0    1 __gedf2
   270: 00080000     0 OBJECT  GLOBAL DEFAULT  0   16 _stack
   271: 0000c4bc   108 FUNC    GLOBAL DEFAULT  0    1 __subdf3
   272: 00008570    28 FUNC    GLOBAL DEFAULT  0    1 __register_frame_info_table
   273: 000084b8    28 FUNC    GLOBAL DEFAULT  0    1 __register_frame_info
   274: 0000d234   600 FUNC    GLOBAL DEFAULT  0    1 __pack_d
   275: 0000b01c    32 FUNC    GLOBAL DEFAULT  0    1 raise
   276: 0000a200    16 FUNC    GLOBAL DEFAULT  0    1 free
   277: 0000a33c    68 FUNC    GLOBAL DEFAULT  0    1 sigprocmask
   278: 000081b8   148 FUNC    GLOBAL DEFAULT  0    1 __do_global_ctors

No version information found in this file.
arm-elf-gcc -dumpversion
3.0.2
arm-elf-ld -v
GNU ld version 2.11.2 (with BFD 2.11.2)
gcc -dumpversion
2.95.2
ld -v
GNU ld version 2.9.5 (with BFD 2.9.5.0.24)

[-- Attachment #3: binutils-testcase.tar.gz --]
[-- Type: application/x-gzip, Size: 5758 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ARM linker will allow linking with non-arm object files
  2002-02-15 12:33 ARM linker will allow linking with non-arm object files Faisal Akber
@ 2002-03-01  3:19 ` Nick Clifton
  0 siblings, 0 replies; 2+ messages in thread
From: Nick Clifton @ 2002-03-01  3:19 UTC (permalink / raw)
  To: fakber; +Cc: binutils

Hi Faisal,

> The problem I'm encountering is that the linker will link in objects
> that have been compiled for other targets.
> 
> Is this correct?

Essentially yes.  The linker has been designed to be able to read in
input files in multiple different formats and convert them into a
single output format whilst it links them.  Of course it is up to the
programmer to ensure that the input files can be linked together.  So
for example this feature might be used to link in files in the
"binary" or "ihex" formats into an executable.

In this particular case, of course, it does not make a lot of sense to
link an x86 object file and an ARM object file together since the ARM
cannot execute x86 instructions.  (Well unless someone has written an
emulator...).  But then why would anyone even try to link together
these two different styles of input file ?

Cheers
        Nick

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-03-01 11:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-15 12:33 ARM linker will allow linking with non-arm object files Faisal Akber
2002-03-01  3:19 ` Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).