On Tue, Feb 12, 2008 at 09:43:11PM -0600, Jeffrey Ollie wrote: > I'm having some difficulty building Asterisk in Rawhide now that GCC > has been upgraded to 4.3. As you can see from [1] the build error out > because of some undefined symbols (__sync_fetch_and_add_4 and > __sync_sub_and_fetch_4). From what I've been able to figure out from > googling around is that these two functions are no longer available > when building with '-march=i386' because i386 processors don't have > the atomic operations that are required. No longer is a wrong word. __sync_fetch_and_add never worked for -march=i386, it can't - there is no atomic instruction on i386 ISA through which that could be implemented. > The "solution" that I have > seen proposed is to build with '-march=i686'. Unless someone has some > other solution, I'd like to start building Asterisk as i686 in Rawhide > rather than i386. Rather use -march=i486 -mtune=generic, and don't bother with using non-i386.rpm rpms. glibc/libstdc++/libgomp is built -march=i486 in i386.rpm packages already (NPTL doesn't support pre-i486), so Fedora for a few releases won't boot on pre-i486 anyway. On the other side, some people still use i586-ish CPUs (or i686 without cmov, that's the same deal) with Fedora, so limiting packages to i686 would hurt. Jakub -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list