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
 

Reply via email to