While researching how to cross-compile for PIE, I discovered my theory was based on a faulty premise: that PIE binaries will only run on Android 5.0. Therefore (again while I;m waiting for more knowledgeable people to respond to my original email) I;m ditching the cross-compile for native building and I've downloaded the Android 5.0 libs and headers to use. On June 19, 2015 6:26:16 AM CDT, Cyd Haselton <chaselton@xxxxxxxxx> wrote: >ADDITIONAL NOTE: >I have a theory as to what I did wrong, so while i'm waiting for >responses I'll test it by trying to re-building binutils and gcc as >cross-compiles > >On June 19, 2015 6:13:09 AM CDT, Cyd Haselton <chaselton@xxxxxxxxx> >wrote: >>As suggested by the responses to my previous email (building GCC AS >>PIE) I went ahead and configured/built binutils with -fPIE and started >>to build GCC with the same: >> >>../gcc-4.9.2/configure --prefix=/usr/gcc-49-pie >>--build=arm-linux-androideabi --host=arm-linux-androideabi >>--target=arm-linux-androideabi --disable-ld >>--with-as=/usr/gcc-49-pie/bin/as --with-ld=/usr/gcc-49-pie/bin/ld >>--enable-shared --enable-languages=c,c++ --disable-bootstrap >>--disable-sjlj-exceptions --disable-nls --disable-gold >>--disable-fortran --disable-libssp --disable-lto --disable-libquadmath >>--disable-libquadmath-support --disable-libada --disable-werror >>--disable-multilib --disable-libgomp --disable-cloog >>--with-build-time-tools=/usr/gcc-4.9.2/bin LIBCXXFLAGS='-O2 -mandroid >>-mbionic -fno-implicit-templates -frtti' LIBS='-lc -ldl -lgcc -lm >>-lsupc++ -lgnustl_shared' --with-build-sysroot=/sysroot >>--disable-libsanitizer >> >> >>Unfortunately, about midway through the build, I get the following >>error (warning, long): >> >> >>bld/gcc/build-gcc49/./gcc/xgcc -B/bld/gcc/build-gcc49/./gcc/ >>-B/usr/gcc-49-pie/arm-linux-androideabi/bin/ >>-B/usr/gcc-49-pie/arm-linux-androideabi/lib/ -isystem >>/usr/gcc-49-pie/arm-linux-androideabi/include -isystem >>/usr/gcc-49-pie/arm-linux-androideabi/sys-include --sysroot=/sysroot >>-g -O2 -fPIE -fPIC -march=armv7-a -mandroid -mbionic -DNO-LOCALE -O2 >>-g -O2 -fPIE -fPIC -march=armv7-a -mandroid -mbionic -DNO-LOCALE >>-DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual >>-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition >>-isystem ./include -fPIC -fno-inline -g -DIN_LIBGCC2 >>-fbuilding-libgcc -fno-stack-protector -fPIC -fno-inline -I. -I. >>-I../.././gcc -I../../../gcc-4.9.2/libgcc >-I../../../gcc-4.9.2/libgcc/. >>-I../../../gcc-4.9.2/libgcc/../gcc >>-I../../../gcc-4.9.2/libgcc/../include -o _arm_cmpdf2_s.o -MT >>_arm_cmpdf2_s.o -MD -MP -MF _arm_cmpdf2_s.dep -DSHARED -DL_arm_cmpdf2 >>-xassembler-with-cpp -c >>../../../gcc-4.9.2/libgcc/config/arm/lib1funcs.S >><command-line>:0:3: warning: missing whitespace after the macro name >><command-line>:0:3: warning: missing whitespace after the macro name >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S: Assembler messages: >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S:1158: Error: cannot >>represent BFD_RELOC_CTOR relocation in this object file format >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S:1174: Error: cannot >>represent BFD_RELOC_CTOR relocation in this object file format >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S:1185: Error: cannot >>represent BFD_RELOC_CTOR relocation in this object file format >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S:1196: Error: cannot >>represent BFD_RELOC_CTOR relocation in this object file format >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S:1207: Error: cannot >>represent BFD_RELOC_CTOR relocation in this object file format >>../../../gcc-4.9.2/libgcc/config/arm/ieee754-df.S:1218: Error: cannot >>represent BFD_RELOC_CTOR relocation in this object file format >>make[2]: *** [_arm_cmpdf2_s.o] Error 1 >>make[2]: Leaving directory >>`/bld/gcc/build-gcc49/arm-linux-androideabi/libgcc' >>make[1]: *** [all-target-libgcc] Error 2 >>make[1]: Leaving directory `/bld/gcc/build-gcc49' >>make: *** [all] Error 2 >> >>Google is not helpful when searching for the specific error...any >>ideas?