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]$