[Bug lto/90229] Interaction among -Wl,--as-needed and LTO results in an undefined symbol

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Apr 24 20:56:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90229

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
I can't reproduce it with binutils master branch and GCC 9:

[hjl@gnu-cfl-1 pr90229]$ cat x.ii 
extern int FLAGS_verbose;
extern "C" void pthread_create(void);

void a(const char *b...) {
  if (FLAGS_verbose) {
    __builtin_va_list ap;
    __builtin_va_start(ap, b);
  }
}
void a() { pthread_create(); }
int main() { a(""); return 0; }
[hjl@gnu-cfl-1 pr90229]$ cat lib.ii
int FLAGS_verbose;
[hjl@gnu-cfl-1 pr90229]$ make
/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/ -B./ -g
-flto -c -o x.o x.ii
/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/ -B./ -g
-c -o lib.o lib.ii
/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/ -B./
-shared -g -o libx.so lib.o
/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-wip-debug/build-x86_64-linux/gcc/ -B./
-pthread -g -o x x.o libx.so -Wl,--as-needed 
[hjl@gnu-cfl-1 pr90229]$


More information about the Gcc-bugs mailing list