diff options
author | Xiong Hu Luo <luoxhu@linux.ibm.com> | 2019-08-14 02:18:33 +0000 |
---|---|---|
committer | Xiong Hu Luo <luoxhu@gcc.gnu.org> | 2019-08-14 02:18:33 +0000 |
commit | 5747e0c0e1bce0df39ab7ac342162ecdc6e1343d (patch) | |
tree | a0ffc5e9ca2f76f3a97f9789f8956e8d11d02f53 /gcc/lto-streamer-out.c | |
parent | 37987c39eb22e5666745fd5edcfc518d1e59ed72 (diff) | |
download | gcc-5747e0c0e1bce0df39ab7ac342162ecdc6e1343d.zip gcc-5747e0c0e1bce0df39ab7ac342162ecdc6e1343d.tar.gz gcc-5747e0c0e1bce0df39ab7ac342162ecdc6e1343d.tar.bz2 |
Enable math functions linking with static library for LTO
In LTO mode, if static library and dynamic library contains same
function and both libraries are passed as arguments, linker will link
the function in dynamic library no matter the sequence. This patch
will output LTO symbol node as UNDEF if BUILT_IN_NORMAL function FNDECL
is a math function, then the function in static library will be linked
first if its sequence is ahead of the dynamic library.
gcc/ChangeLog
2019-08-14 Xiong Hu Luo <luoxhu@linux.ibm.com>
PR lto/91287
* builtins.c (builtin_with_linkage_p): New function.
* builtins.h (builtin_with_linkage_p): New function.
* symtab.c (write_symbol): Remove redundant assert.
* lto-streamer-out.c (symtab_node::output_to_lto_symbol_table_p):
Remove FIXME and use builtin_with_linkage_p.
From-SVN: r274411
Diffstat (limited to 'gcc/lto-streamer-out.c')
-rw-r--r-- | gcc/lto-streamer-out.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index b156876..d85b03a 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -2642,12 +2642,6 @@ write_symbol (struct streamer_tree_cache_d *cache, const char *comdat; unsigned char c; - gcc_checking_assert (TREE_PUBLIC (t) - && (TREE_CODE (t) != FUNCTION_DECL - || !fndecl_built_in_p (t)) - && !DECL_ABSTRACT_P (t) - && (!VAR_P (t) || !DECL_HARD_REGISTER (t))); - gcc_assert (VAR_OR_FUNCTION_DECL_P (t)); name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (t)); |