mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-20 17:12:55 +00:00
cc/gcc: add option for linker hash style
Add an option to specify the hash type that gcc will ask the linker to use. It is a provision for the upcoming 4.7, as no version currently supports it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
parent
9c8bde853c
commit
71d5c495e9
@ -277,6 +277,11 @@ config CC_GCC_HAS_PKGVERSION_BUGURL
|
||||
config CC_GCC_HAS_BUILD_ID
|
||||
bool
|
||||
|
||||
# For the upcoming 4.7 ?
|
||||
# None have linker-hash-style support for now...
|
||||
config CC_GCC_HAS_LNK_HASH_STYLE
|
||||
bool
|
||||
|
||||
# Only enable gcc's support for plugins if binutils has it as well
|
||||
# They are usefull only when doing LTO, but it does no harm enabling
|
||||
# them even without LTO.
|
||||
|
@ -211,3 +211,41 @@ config CC_GCC_BUILD_ID
|
||||
option is ignored.
|
||||
|
||||
The default is off.
|
||||
|
||||
choice CC_GCC_LNK_HASH_STYLE_CHOICE
|
||||
bool
|
||||
prompt "linker hash style"
|
||||
depends on CC_GCC_HAS_LNK_HASH_STYLE
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_DEFAULT
|
||||
bool
|
||||
prompt "Default"
|
||||
help
|
||||
Do not specify any value, and use the default value (sysv).
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_SYSV
|
||||
bool
|
||||
prompt "sysv"
|
||||
help
|
||||
Force use of the SYSV hash style.
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_GNU
|
||||
bool
|
||||
prompt "gnu"
|
||||
help
|
||||
Force use of the GNU hash style.
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE_BOTH
|
||||
bool
|
||||
prompt "both"
|
||||
help
|
||||
Force use of both hash styles.
|
||||
|
||||
endchoice # CC_GCC_LNK_HASH_STYLE_CHOICE
|
||||
|
||||
config CC_GCC_LNK_HASH_STYLE
|
||||
string
|
||||
default "" if CC_GCC_LNK_HASH_STYLE_DEFAULT
|
||||
default "sysv" if CC_GCC_LNK_HASH_STYLE_SYSV
|
||||
default "gnu" if CC_GCC_LNK_HASH_STYLE_GNU
|
||||
default "both" if CC_GCC_LNK_HASH_STYLE_BOTH
|
||||
|
@ -262,6 +262,11 @@ do_cc_core() {
|
||||
extra_config+=( --enable-linker-build-id )
|
||||
fi
|
||||
|
||||
case "${CT_CC_GCC_LNK_HASH_STYLE}" in
|
||||
"") ;;
|
||||
*) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
|
||||
esac
|
||||
|
||||
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
|
||||
|
||||
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
|
||||
@ -534,6 +539,11 @@ do_cc() {
|
||||
extra_config+=( --enable-linker-build-id )
|
||||
fi
|
||||
|
||||
case "${CT_CC_GCC_LNK_HASH_STYLE}" in
|
||||
"") ;;
|
||||
*) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
|
||||
esac
|
||||
|
||||
if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then
|
||||
extra_config+=( --enable-plugin )
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user