[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "-flto -O2" shouln't opt out "undefined reference" error
From: |
Jim Wilson |
Subject: |
Re: "-flto -O2" shouln't opt out "undefined reference" error |
Date: |
Tue, 17 Jan 2017 15:53:11 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 |
On 01/16/2017 10:32 AM, Xuefer wrote:
without -flto or without -O2 produce good (expected) result:
================================
configure:5332: checking for dlsym
...
It isn't the linker that is the problem here. It is the compiler. But
it isn't a compiler bug. An optimizing compiler is supposed to optimize
code like this.
I'd say the main problem is trying to use -flto at configure time. This
is likely to break lots of configure scripts.
char (*f) ();
However, this particular problem I can fix with gcc by changing this line to
char (* volatile f) ();
and now gcc won't optimize away the store, even with -flto.
Unfortunately, I can't check LLVM at the moment, as I don't have LLVM
-flto support set up on any of my machines at the moment.
So this can be fixed by not using -flto at configure time, or by
modifying configure scripts to use volatile. There is no linker or
compiler fix to make here.
Jim