[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/11995] New: linker test fails
From: |
nathan at gcc dot gnu dot org |
Subject: |
[Bug ld/11995] New: linker test fails |
Date: |
9 Sep 2010 14:38:20 -0000 |
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 ld/11995] New: linker test fails,
nathan at gcc dot gnu dot org <=