As discussed at http://www.cygwin.com/ml/binutils/2010-09/msg00125.html I'm seeing some test fails, and apparently Matthew is not. Here's one of those fails:
/home/nathan/binutils/arm-none-linux-gnueabi/ld/../gas/as-new -o tmpdir/farcall-mixed-app.o /home/nathan/binutils/src/ld/testsuite/ld-arm/farcall-mixed-app.s /home/nathan/binutils/arm-none-linux-gnueabi/ld/ld-new -o tmpdir/farcall-mixed-app-v5 -L/home/nathan/binutils/src/ld/testsuite/ld-arm tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000 tmpdir/farcall-mixed-app.o /home/nathan/binutils/arm-none-linux-gnueabi/ld/../binutils/objdump -fdw -h tmpdir/farcall-mixed-app-v5 > objdump.out The fail from ld.log is: regexp_diff match failure regexp "^ .*: 000081e8 .word 0x000081e8$" line " 2100034: 000081f8 .word 0x000081f8" regexp_diff match failure regexp "^ .*: 000081dc .word 0x000081dc$" line " 210003c: 000081ec .word 0x000081ec" regexp_diff match failure regexp "^ .*: 000081dc .word 0x000081dc$" line " 2200014: 000081ec .word 0x000081ec" FAIL: Mixed ARM/Thumb arch5 dynamic application with farcalls AFAICT the contents I get are consistent. The question is why is it different? Here's the elf header: tmpdir/farcall-mixed-app-v5: file format elf32-littlearm architecture: arm, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x00008210 Sections: Idx Name Size VMA LMA File off Algn Flags 0 .interp 00000011 00008000 00008000 00008000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .hash 00000048 00008014 00008014 00008014 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .dynsym 000000d0 0000805c 0000805c 0000805c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .dynstr 00000091 0000812c 0000812c 0000812c 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .rel.dyn 00000008 000081c0 000081c0 000081c0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .rel.plt 00000010 000081c8 000081c8 000081c8 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .plt 0000002c 000081d8 000081d8 000081d8 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 7 .text 00000038 00008210 00008210 00008210 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 8 .dynamic 000000a8 00010248 00010248 00008248 2**2 CONTENTS, ALLOC, LOAD, DATA 9 .got 00000014 000102f0 000102f0 000082f0 2**2 CONTENTS, ALLOC, LOAD, DATA 10 .data 00000004 00010304 00010304 00008304 2**0 CONTENTS, ALLOC, LOAD, DATA 11 .bss 00000004 00010308 00010308 00008308 2**0 ALLOC 12 .ARM.attributes 00000018 00000000 00000000 00018018 2**0 CONTENTS, READONLY 13 .far_arm 00000040 02100000 02100000 00010000 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 14 .far_thumb 00000018 02200000 02200000 00018000 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE Here's the PLT 000081d8 <.plt>: 81d8: e52de004 push {lr} ; (str lr, [sp, #-4]!) 81dc: e59fe004 ldr lr, [pc, #4] ; 81e8 <_start-0x28> 81e0: e08fe00e add lr, pc, lr 81e4: e5bef008 ldr pc, [lr, #8]! 81e8: 00008108 .word 0x00008108 81ec: e28fc600 add ip, pc, #0 81f0: e28cca08 add ip, ip, #32768 ; 0x8000 81f4: e5bcf108 ldr pc, [ip, #264]! ; 0x108 81f8: e28fc600 add ip, pc, #0 81fc: e28cca08 add ip, ip, #32768 ; 0x8000 8200: e5bcf100 ldr pc, [ip, #256]! ; 0x100 and as you can see, 81f8 and 81ec are plt entry points (and 81dc and 81e8 are not). My guess is one of the preceeding sections has gotten bigger. I get the same for both arm-eabi and arm-none-linux-gnueabi targets. -- Summary: linker test fails Product: binutils Version: 2.21 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: nathan at gcc dot gnu dot org CC: bug-binutils at gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: arm-none-linux-gnueabi http://sourceware.org/bugzilla/show_bug.cgi?id=11995 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils