This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/57271] ARM: gcc generates insufficient alignment for memory passed as extra argument for function return large composite type
- From: "java4ada at yahoo dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 14 May 2013 11:03:35 +0000
- Subject: [Bug c++/57271] ARM: gcc generates insufficient alignment for memory passed as extra argument for function return large composite type
- Auto-submitted: auto-generated
- References: <bug-57271-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57271
--- Comment #2 from java4ada at yahoo dot com ---
I don't know if ABI dictates it but from observation the stack is aligned to
8-byte for the largest primitive type "double" (or long long).
I configure it on Ubuntu 12.04 64-bit with the following:
~/m/gcc/gcc-4.8/configure \
--prefix=/tmp/gcc/prefix --target=arm-linux-androideabi
--host=x86_64-linux-gnu --build=x86_64-linux-gnu \
--with-gnu-as --with-gnu-ld --enable-languages=c,c++ \
--with-gmp=/tmp/gcc/temp-install \
--with-mpfr=/tmp/gcc/temp-install \
--with-mpc=/tmp/gcc/temp-install \
--with-cloog=/tmp/gcc/temp-install \
--with-isl=/tmp/gcc/temp-install \
--with-ppl=/tmp/gcc/temp-install \
--disable-ppl-version-check --disable-cloog-version-check
--disable-isl-version-check \
--enable-cloog-backend=isl \
--with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm"
\
--disable-libssp \
--enable-threads \
--disable-libmudflap --disable-libstdc__-v3 --disable-sjlj-exceptions
--disable-shared \
--disable-tls --disable-libitm --disable-nls --disable-bootstrap
--disable-libquadmath --disable-libsanitizer \
--with-float=soft --with-fpu=vfp --with-arch=armv5te \
--enable-target-optspace --enable-initfini-array \
--with-sysroot=/tmp/gcc/prefix/sysroot \
--enable-plugins --enable-libgomp \
--enable-gold=default