Hi Florian, > -----Original Message----- > From: gcc-help-owner@xxxxxxxxxxx <gcc-help-owner@xxxxxxxxxxx> On > Behalf Of Florian Weimer > Sent: Monday, September 23, 2019 7:58 AM > To: Kacvinsky, Tom <Tom.Kacvinsky@xxxxxxxxxx> > Cc: gcc-help@xxxxxxxxxxx > Subject: Re: GCC 8.3.0, libatomic and text relocations > > * Tom Kacvinsky: > > > I have built GCC 8.3.0 on a RHEL 5 machine, using the build triplet > > i386-redhat-linux. Since I chose i386 as the architecture, the > > resulting object code I have needs libatomic. > > That seems an odd choice. There is no supported Linux distribution which > still runs on an i386. Are you really sure you need this? The gcc that is provided by RHEL5 uses the build triplet I used. I could (should?) have used a different build triplet. > > You will be able to avoid this problem by moving to an i486 or later baseline. > It also avoids most issues with the libatomic emulation in libgcc, which is > incompatible with many usage scenarios. > Yea, I discovered this by using -march=i686 when building my code. Then libatomic was not necessary. > The lack of PIC compilation in your static libgcc appears to be a problem with > the way you built the compiler. I do not think regular builds suffer from this. I did not change the build process. Used the official source tarbal, did a configure thusly: ../gcc-8.3.0/configure --prefix=/home/BUILD/bin/gcc-8.3.0-3 --enable-clocale=generic --enable-languages=c,c++,ada --with-mpfr=/home/BUILD/lib/mpfr-3.1.5/ --with-mpc=/home/BUILD/lib/mpc-1.0.3/ --with-gmp=/home/BUILD/lib/gmp-6.1.2/ --disable-multilib --build=i386-redhat-linux. And form what I saw in the build logs for this is that everything was compiled with -fPIC. I wonder if the problem is really due to using the system's ancient binutils instead of a newer version compiled from source... Tom