From 572e61754adca6739b17e8604da964ce2aa98eef Mon Sep 17 00:00:00 2001 From: Joshua Oreman Date: Sun, 2 Aug 2009 14:01:36 -0700 Subject: [linker] Expand and correct symbol requirement macros REQUIRE_SYMBOL() formerly used a formulation of symbol requirement that would allow a link to succeed despite lacking a required symbol, because it did not introduce any relocations. Fix by renaming it to REQUEST_SYMBOL() (since the soft-requirement behavior can be useful) and add a REQUIRE_SYMBOL() that truly requires. Add EXPORT_SYMBOL() and IMPORT_SYMBOL() for REQUEST_SYMBOL()-like behavior that allows one to make use of the symbol, by combining a weak external on the symbol itself with a REQUEST_SYMBOL() of a second symbol. Signed-off-by: Marty Connor --- src/arch/i386/scripts/i386-kir.lds | 1 + src/arch/i386/scripts/i386.lds | 1 + 2 files changed, 2 insertions(+) (limited to 'src/arch/i386/scripts') diff --git a/src/arch/i386/scripts/i386-kir.lds b/src/arch/i386/scripts/i386-kir.lds index b213c605c..c19480f03 100644 --- a/src/arch/i386/scripts/i386-kir.lds +++ b/src/arch/i386/scripts/i386-kir.lds @@ -130,6 +130,7 @@ SECTIONS { /DISCARD/ : { *(.comment) *(.note) + *(.discard) } /* diff --git a/src/arch/i386/scripts/i386.lds b/src/arch/i386/scripts/i386.lds index 52f8eb4bc..77e8c7e76 100644 --- a/src/arch/i386/scripts/i386.lds +++ b/src/arch/i386/scripts/i386.lds @@ -152,6 +152,7 @@ SECTIONS { *(.eh_frame.*) *(.rel) *(.rel.*) + *(.discard) } /* -- cgit v1.2.3-55-g7522