mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 02:24:46 +08:00
887badb310
* elf-nacl.c (nacl_modify_segment_map): Fix logic reordering the elf_segment_map list. If an executable segment is page-aligned but does not end with a full page, then append a fake section into the segment map entry that pads out the page. (nacl_final_write_processing): New function. Write the code fill laid out in nacl_modify_segment_map. * elf-nacl.h: Declare it. * elf32-arm.c (elf32_arm_nacl_final_write_processing): New function. (elf_backend_final_write_processing): Define it for NaCl backend. * elf32-i386.c (elf_backend_final_write_processing): Likewise. * elf64-x86-64.c (elf_backend_final_write_processing): Likewise. * elf-nacl.c (segment_eligible_for_headers): Rename MAXPAGESIZE parameter to MINPAGESIZE. (nacl_modify_segment_map): Use minpagesize instead of maxpagesize. * elf32-arm.c (ELF_MINPAGESIZE, ELF_COMMONPAGESIZE): Set to 0x10000 for NaCl targets. ld/testsuite/ * ld-x86-64/ilp32-4-nacl.d: Loosen .shstrtab line regexp to match any file offset. * ld-x86-64/tlsbin-nacl.rd: Update expected code segment PT_LOAD. * ld-x86-64/tlsbindesc-nacl.rd: Likewise. * ld-scripts/rgn-at3.d: XFAIL for *-*-nacl* targets. * ld-scripts/rgn-over8-ok.d: Likewise.
33 lines
1.5 KiB
Makefile
33 lines
1.5 KiB
Makefile
#source: ilp32-4.s
|
|
#as: --x32
|
|
#ld: -m elf32_x86_64_nacl -shared --no-ld-generated-unwind-info
|
|
#readelf: -d -S --wide
|
|
#target: x86_64-*-nacl*
|
|
|
|
There are 9 section headers, starting at offset 0x[0-9a-f]+:
|
|
|
|
Section Headers:
|
|
+\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al
|
|
+\[ 0\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
|
|
+\[ 1\] \.text +PROGBITS +0+ 0+10000 +0+1 +00 +AX +0 +0 +1
|
|
+\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+2c +04 +A +3 +0 +4
|
|
+\[ 3\] \.dynsym +DYNSYM +100000e0 +0+e0 +0+60 +10 +A +4 +2 +4
|
|
+\[ 4\] \.dynstr +STRTAB +10000140 +0+140 +0+19 +00 +A +0 +0 +1
|
|
+\[ 5\] \.dynamic +DYNAMIC +1001015c +0+15c +0+58 +08 +WA +4 +0 +4
|
|
+\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1
|
|
+\[ 7\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +8 +[0-9] +4
|
|
+\[ 8\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
|
|
Key to Flags:
|
|
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
|
|
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
|
|
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
|
|
|
|
Dynamic section at offset 0x15c contains 6 entries:
|
|
Tag Type Name/Value
|
|
0x00000004 \(HASH\) 0x100000b4
|
|
0x00000005 \(STRTAB\) 0x10000140
|
|
0x00000006 \(SYMTAB\) 0x100000e0
|
|
0x0000000a \(STRSZ\) 25 \(bytes\)
|
|
0x0000000b \(SYMENT\) 16 \(bytes\)
|
|
0x00000000 \(NULL\) 0x0
|