aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2007-12-07 01:34:11 -0600
committerMichael Brown <mcb30@etherboot.org>2007-12-07 01:34:11 -0600
commit2c7a9e803c4bf8346911adcc6c05c714e2f22c4f (patch)
treeaea2ee88a72fdd9c64bc7249707b3a7eb319273f
parentcf895a8c7cb2d5cbcc56a75d2644c028bc77d982 (diff)
downloadipxe-2c7a9e803c4bf8346911adcc6c05c714e2f22c4f.tar.gz
Remove the (unused) option to override _prefix_link_addr,
_textdata_link_addr, _load_addr and _max_align in the linker scripts. A bug in some versions of ld causes segfaults if the DEFINED() macro is used in a linker script *and* the -Map option to ld is present. We don't currently need to override any of these values; if we need to do so in future then the solution will probably be to always specify the values on the ld command line, and have the linker script not define them at all.
-rw-r--r--src/arch/i386/scripts/i386.lds18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/arch/i386/scripts/i386.lds b/src/arch/i386/scripts/i386.lds
index 8cc715d0..d481db0f 100644
--- a/src/arch/i386/scripts/i386.lds
+++ b/src/arch/i386/scripts/i386.lds
@@ -15,15 +15,6 @@ SECTIONS {
* addresses, but may have individual link addresses depending on
* the memory model being used.
*
- * The linker symbols _{prefix,textdata}_link_addr, load_addr, and
- * _max_align may be specified explicitly. If not specified, they
- * will default to:
- *
- * _prefix_link_addr = 0
- * _textdata_link_addr = 0
- * _load_addr = 0
- * _max_align = 16
- *
* We guarantee alignment of virtual addresses to any alignment
* specified by the constituent object files (e.g. via
* __attribute__((aligned(x)))). Load addresses are guaranteed
@@ -43,7 +34,7 @@ SECTIONS {
* The prefix
*/
- _prefix_link_addr = DEFINED ( _prefix_link_addr ) ? _prefix_link_addr : 0;
+ _prefix_link_addr = 0;
. = _prefix_link_addr;
_prefix = .;
@@ -112,8 +103,7 @@ SECTIONS {
* The 32-bit sections
*/
- _textdata_link_addr = ( DEFINED ( _textdata_link_addr ) ?
- _textdata_link_addr : 0 );
+ _textdata_link_addr = 0;
. = _textdata_link_addr;
_textdata = .;
@@ -198,8 +188,8 @@ SECTIONS {
* location counter.
*/
- _max_align = DEFINED ( _max_align ) ? _max_align : 16;
- _load_addr = DEFINED ( _load_addr ) ? _load_addr : 0;
+ _max_align = 16;
+ _load_addr = 0;
. = _load_addr;