I'm going to at least try to see how much we can get Libtool in shape for LTO. This one should be easy:
* Dave Korn wrote on Wed, Apr 07, 2010 at 01:13:08AM CEST: > On 06/04/2010 22:39, Paolo Bonzini wrote: > > On 04/06/2010 04:01 AM, Charles Wilson wrote: > >>> > As for whether it would get dropped if you did, I'd imagine > >>> that's quite > >>> > plausible; you might want to add a volatile qualifier. > >> 'static volatile const char * MAGIC = ...' > >> ^^^^^^^^^^^^^^ > >> err...maybe just 'volatile'! > > > > Volatile const _does_ make sense to the compiler, believe it or not. :-) > > Yep, that was no typo on my part, I meant exactly what I said :) Thanks guys. I'm applying the following in your name, if that wasn't exactly what you intended then please speak up. Thanks, Ralf 2010-08-28 Dave Korn <dave.korn.cyg...@... Ensure cwrapper magic string is not optimized away. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Declare MAGIC_EXE as volatile. Report by Charles Wilson. diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index a1f3b35..746718a 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -3181,7 +3181,7 @@ void lt_dump_script (FILE *f); EOF cat <<EOF -const char * MAGIC_EXE = "$magic_exe"; +volatile const char * MAGIC_EXE = "$magic_exe"; const char * LIB_PATH_VARNAME = "$shlibpath_var"; EOF