--- Begin Message ---
- Subject: RESOLVED - Re: __sync_sychronize on ARM
- From: Jon Masters <jonathan@xxxxxxxxxxxxxx>
- Date: Mon, 30 Jan 2012 16:20:17 -0500
- Cc: jcm@xxxxxxxxxxxxxx
- Delivery-date: Mon, 30 Jan 2012 22:17:32 +0000
- Envelope-to: jcm@xxxxxxxxxxxxxx
- In-reply-to: <1327906601.2138.13.camel@sherlock.bos.jonmasters.org>
- Organization: World Organi{s,z}ation of Broken Dreams
Hello everyone,
Just a quick followup. This problem is now resolved. There is no
breakage in gcc, just a problem in the Fedora icu package. That package
contains some sed scripts in the "SPEC" (build description meta) file
that intentionally were munging the Makefiles used to build ICU such
that "nostdlib" was being given to gcc and it was never using libgcc.
The intention of the person who made this change apparently was to
prevent linking the standard math library into icu, but unfortunately a
rather unusual solution was chosen. On some systems, one can almost get
away with this because __sync_synchronize happens to be implemented in
such a fashion that it is optimized into inline emitted assembly. On
ARM, that isn't the case. In addition, it is likely that telling GCC not
to link in core libraries like libgcc will lead to other breakage later.
I have requested the package be fixed to remove the sed scripts and have
temporarily (just to solve our problem in the Fedora ARM community) had
"-lgcc" added to the linker flags as a very hackish solution for today.
Thanks for the replies, and I apologize for the noise. I have learned a
great deal about gcc atomics over the past few days. I have also learned
that debugging packages requires that you build the package *exactly* as
it is in the spec file, not just by running configure/make as therein ;)
Jon.
--- End Message ---
_______________________________________________
arm mailing list
arm@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/arm