Summary: | Linker sometimes produces 2MB section gap | ||
---|---|---|---|
Product: | binutils | Reporter: | Jan Kratochvil <jan> |
Component: | ld | Assignee: | Jan Kratochvil <jan> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | bug-binutils |
Priority: | P3 | ||
Version: | 2.19 | ||
Target Milestone: | --- | ||
Host: | x86_64-unknown-linux-gnu | Target: | x86_64-unknown-linux-gnu |
Build: | x86_64-unknown-linux-gnu | Last reconfirmed: | |
Attachments: | Fix |
Description
Jan Kratochvil
2008-08-11 12:30:17 UTC
Created attachment 2902 [details]
Fix
After the fix: [16] .eh_frame PROGBITS 0000000000057178 00057178 00002a5c 0 A 0 0 8 [17] .ctors PROGBITS 000000000025abd0 0005abd0 00000010 0 WA 0 0 8 With the RELRO end alignment: 08 [RELRO: .ctors .dtors .jcr .data.rel.ro .dynamic .got] [22] .got PROGBITS 000000000025ba70 0005ba70 00000560 8 WA 0 0 8 [23] .got.plt PROGBITS 000000000025bfe8 0005bfe8 00000bc0 8 WA 0 0 8 24 bytes before the page boundary to comply with the RELRO largest alignment 32: [20] .data.rel.ro PROGBITS 000000000025ac00 0005ac00 00000bc0 0 WA 0 0 32 http://sourceware.org/ml/binutils/2008-08/msg00182.html http://sourceware.org/ml/binutils-cvs/2008-08/msg00117.html PR ld/6833 * ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Do not align EXPLD.DATASEG.MIN_BASE. * ldlang.c (lang_size_sections): New variable OLD_BASE. Rename OLD_MIN_BASE to MIN_BASE with the former alignment from `ldexp.c'. Use OLD_BASE now for the minimal base check after the base decrease by the maximum alignment found. |