http://sourceware.org/bugzilla/show_bug.cgi?id=13400
Bug #: 13400
Summary: address capped at 1<<32
Product: binutils
Version: 2.23 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: unassig...@sourceware.org
ReportedBy: rol...@gnu.org
Classification: Unclassified
Created attachment 6049
--> http://sourceware.org/bugzilla/attachment.cgi?id=6049
assembly source
Something seems to cap explicitly-chosen addresses at 0x1 (1<<32).
Reproduce with the attached files:
$ as -o toobig.o toobig.s
$ ./ld/ld-new -m elf_x86_64 --build-id -static -z max-page-size=0x1000
--script=toobig.x -o toobig toobig.o
$ readelf -lSs toobig
There are 7 section headers, starting at offset 0x1c0:
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL
0 0 0
[ 1] .note.gnu.build-i NOTE 00010158 0158
0024 A 0 0 4
[ 2] .text PROGBITS 0001017c 017c
0001 AX 0 0 4
[ 3] .reserve NOBITS 00012000 1000
fffee000 WA 0 0 1
[ 4] .shstrtab STRTAB 017d
003d 0 0 1
[ 5] .symtab SYMTAB 0380
00c0 0018 6 4 8
[ 6] .strtab STRTAB 0440
0028 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Elf file type is EXEC (Executable file)
Entry point 0x1017c
There are 5 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSizMemSiz Flags Align
LOAD 0x 0x0001 0x0001
0x017d 0x017d R E1000
LOAD 0x017d 0x 0x
0x 0x 1000
LOAD 0x1000 0x00012000 0x00012000
0x 0xfffee000 1000
NOTE 0x0158 0x00010158 0x00010158
0x0024 0x0024 R 4
GNU_STACK 0x 0x 0x
0x 0x RW 8
Section to Segment mapping:
Segment Sections...
00 .note.gnu.build-id .text
01
02 .reserve
03 .note.gnu.build-id
04
Symbol table '.symtab' contains 8 entries:
Num:Value Size TypeBind Vis Ndx Name
0: 0 NOTYPE LOCAL DEFAULT UND
1: 00010158 0 SECTION LOCAL DEFAULT1
2: 0001017c 0 SECTION LOCAL DEFAULT2
3: 00012000 0 SECTION LOCAL DEFAULT3
4: 0015 0 NOTYPE GLOBAL DEFAULT ABS RESERVE_TOP
5: 0001017d 0 NOTYPE GLOBAL DEFAULT ABS etext
6: 0001017c 0 NOTYPE GLOBAL DEFAULT2 _start
7: 00012000 0 NOTYPE GLOBAL DEFAULT ABS RESERVE_START
$
The RESERVE_TOP symbol has the correct value. But the section and segment
sizes derived from it are too way small. Suspiciously, they are such that
the top address is exactly 1<<32.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils