Hi -
On Sat, Mar 01, 2014 at 10:02:19AM +1100, Ken McDonell wrote:
> [...]
> g++ -O2 -g -march=i386 -mtune=i686 -fPIC -fno-strict-aliasing -D_GNU_SOURCE
> -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wall -O2 -g -DPCP_DEBUG
> -DPCP_VERSION=\"3.9.1\" -I./src/include -I./src/include/pcp -fPIC
> -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2
> -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.9.1\" -I../src/include
> -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE
> -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -Wall -O2 -g -DPCP_DEBUG
> -DPCP_VERSION=\"3.9.1\" -I../../src/include -I../../src/include/pcp -O2 -g
> -march=i386 -mtune=i686 -o pmmgr -Wall -L../../src/libpcp/src
> -L../../src/libpcp_pmda/src -rdynamic -pie -Wl,-z,relro -Wl,-z,now pmmgr.o
> -lpcp -lpthread
> pmmgr.o: In function `__exchange_and_add':
> /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/ext/atomicity.h:48:
> undefined reference to `__atomic_fetch_add_4'
Right, this is the gcc <= 4.7 case, where a -latomic did not exist, so
i686 libstdc++ genuinely couldn't be used with -march=i386.
But where is the -march=i386 stuff coming from in your tree now?
That CFLAGS strangely duplicative & wrong.
(There are some -march=i386 stragglers in various GNUlocaldefs.32, but
those aren't near pmmgr.)
> > (All this is moot as to normal Fedora/EPEL builds, since those use
> > neither Makepkgs, nor rpmbuild --target=FOO overrides.)
>
> Well it is kind of relevant for anyone wanting to rebuild PCP from
> source on this platform combination.
Even that should be working now, if the platform combination you are
referring to is fedora-17 (which by the way is orphaned), i686,
invoking it all via a Makepkgs in a clean directory, with those two
fche/i686 patches.
- FChE
|