* 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).