This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Binutils branch 2.20 (done!)


Alan Modra <amodra@bigpond.net.au> writes:

> m68k-elf/log0:FAIL: ld-elf/eh5

Here is the difference of the output of readelf -wf tmpdir/dump between
m68k-elf and m68k-linux:

$ diff -u <(readelf -wf m68k-elf/ld/tmpdir/dump) <(readelf -wf m68k/ld/tmpdir/dump)
--- /dev/fd/63	2009-09-05 12:21:16.841388820 +0200
+++ /dev/fd/62	2009-09-05 12:21:16.837385194 +0200
@@ -129,43 +129,21 @@
   DW_CFA_nop
   DW_CFA_nop
 
-00000170 00000014 00000000 CIE
-  Version:               1
-  Augmentation:          "zPR"
-  Code alignment factor: 2
-  Data alignment factor: -4
-  Return address column: 24
-  Augmentation data:     03 80 00 00 6c 1b
-
-  DW_CFA_nop
-
-00000188 00000014 0000001c FDE cie=00000170 pc=8000008c..80000090
+00000170 00000014 00000148 FDE cie=0000002c pc=8000008c..80000090
   DW_CFA_advance_loc: 4 to 80000090
   DW_CFA_def_cfa: r0 ofs 16
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-000001a0 00000014 000001a4 FDE cie=00000000 pc=80000090..80000098
+00000188 00000014 0000018c FDE cie=00000000 pc=80000090..80000098
   DW_CFA_advance_loc: 4 to 80000094
   DW_CFA_def_cfa: r0 ofs 16
   DW_CFA_nop
   DW_CFA_nop
   DW_CFA_nop
 
-000001b8 00000018 00000000 CIE
-  Version:               1
-  Augmentation:          "zPLR"
-  Code alignment factor: 2
-  Data alignment factor: -4
-  Return address column: 24
-  Augmentation data:     03 80 00 00 6c 0c 1b
-
-  DW_CFA_nop
-  DW_CFA_nop
-  DW_CFA_nop
-
-000001d4 0000001c 00000020 FDE cie=000001b8 pc=80000098..8000009c
+000001a0 0000001c 00000130 FDE cie=00000074 pc=80000098..8000009c
   Augmentation data:     00 00 00 00 de ad be ef
 
   DW_CFA_advance_loc: 4 to 8000009c


The difference comes from the fact that on m68k-linux, following proper
ELF semantics, relocations to external symbols are never relaxed by the
assembler, while for m68k-elf, assuming no shared libraries, such
relocations are relaxed anyway.  See EXTERN_FORCE_RELOC in
gas/config/tc-m68k.h and relaxable_symbol in gas/config/tc-m68k.c.

$ diff -u <(objdump -r m68k-elf/ld/tmpdir/dump0.o) <(objdump -r m68k/ld/tmpdir/dump0.o)
--- /dev/fd/63	2009-09-05 12:26:49.924393553 +0200
+++ /dev/fd/62	2009-09-05 12:26:49.916386933 +0200
@@ -1,13 +1,13 @@
 
-m68k-elf/ld/tmpdir/dump0.o:     file format elf32-m68k
+m68k/ld/tmpdir/dump0.o:     file format elf32-m68k
 
 RELOCATION RECORDS FOR [.eh_frame]:
 OFFSET   TYPE              VALUE 
 0000001c R_68K_PC32        .text
-0000003e R_68K_32          .text+0x00000018
+0000003e R_68K_32          my_personality_v0
 0000004c R_68K_PC32        .text+0x00000008
 00000064 R_68K_PC32        .text+0x0000000c
-00000087 R_68K_32          .text+0x00000018
+00000087 R_68K_32          my_personality_v0
 00000098 R_68K_PC32        .text+0x00000014
 
 
Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]