public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* arm-linux-gcc can't recognize "-mpreferred-stack-boundary"
@ 2004-11-26 11:30 Arthur Yang
  2004-11-27  2:46 ` Ian Lance Taylor
  0 siblings, 1 reply; 2+ messages in thread
From: Arthur Yang @ 2004-11-26 11:30 UTC (permalink / raw)
  To: gcc-help

hello,

I'm doing cross-compilation from i686 to arm. The steps of building up a toolchain are binutils, gcc, glibc, gcc&g++.

However when I build glibc, I found error caused by that arm-linux-gcc can't recognizing "preferred-stack-boundary=4". The output is attached at the end of the mail.

So I checked like this:
gcc -mpreferred-stack-boundary=4 tt.c
It's OK.
arm-linux-gcc -mpreferred-stack-boundary=4 tt.c
it responded as below:
cc1: error: invalid option `preferred-stack-boundary=4'

I use gcc-core-3.4.2 to compile arm-linux-gcc, and configuration is:
./configure --target=arm-linux --prefix=/armtools/ --enable-languages=c --disable-shared --disable-threads

How to solve the problem? I searched google but it seems that there's no same problem. Help me, please. Your quick response and well solution will be appreciated:-)

Arthur Yang

=======================================
part of the output when compiling glibc
=======================================



configure: running /bin/sh '../../glibc-2.3.3/linuxthreads/configure' --prefix=/armtools/arm-linux  '--target=arm-linux' '--prefix=/armtools/arm-linux' '--enable-add-ons=linuxthreads' '--with-headers=/armtools/arm-linux/include' 'CC=arm-linux-gcc' 'target_alias=arm-linux' --cache-file=/dev/null --srcdir=../../glibc-2.3.3/linuxthreads
MySH:/usr/src/glibc-build# CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib make
make -r PARALLELMFLAGS="" CVSOPTS="" -C ../glibc-2.3.3 objdir=`pwd` all
make[1]: Entering directory `/usr/src/glibc-2.3.3'
(echo 'sysd-rules-sysdirs := sysdeps/i386/elf linuxthreads/sysdeps/unix/sysv/linux/i386 linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix linuxthreads/sysdeps/i386/i686 linuxthreads/sysdeps/i386 sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv/i386 sysdeps/unix/sysv sysdeps/unix/i386 sysdeps/unix sysdeps/posix sysdeps/i386/i686/fpu sysdeps/i386/i686 sysdeps/i386/i486 sysdeps/i386/fpu sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic';                    \
 for dir in '$(..)sysdeps/i386/elf' '$(..)linuxthreads/sysdeps/unix/sysv/linux/i386' '$(..)linuxthreads/sysdeps/unix/sysv/linux' '$(..)linuxthreads/sysdeps/pthread' '$(..)sysdeps/pthread' '$(..)linuxthreads/sysdeps/unix/sysv' '$(..)linuxthreads/sysdeps/unix' '$(..)linuxthreads/sysdeps/i386/i686' '$(..)linuxthreads/sysdeps/i386' '$(..)sysdeps/unix/sysv/linux/i386' '$(..)sysdeps/unix/sysv/linux' '$(..)sysdeps/gnu' '$(..)sysdeps/unix/common' '$(..)sysdeps/unix/mman' '$(..)sysdeps/unix/inet' '$(..)sysdeps/unix/sysv/i386' '$(..)sysdeps/unix/sysv' '$(..)sysdeps/unix/i386' '$(..)sysdeps/unix' '$(..)sysdeps/posix' '$(..)sysdeps/i386/i686/fpu' '$(..)sysdeps/i386/i686' '$(..)sysdeps/i386/i486' '$(..)sysdeps/i386/fpu' '$(..)sysdeps/i386' '$(..)sysdeps/wordsize-32' '$(..)sysdeps/ieee754/ldbl-96' '$(..)sysdeps/ieee754/dbl-64' '$(..)sysdeps/ieee754/flt-32' '$(..)sysdeps/ieee754' '$(..)sysdeps/generic/elf' '$(..)sysdeps/generic'; do                           \
   for o in .o .os .op .og .ob .oS; do \
      \
     echo "\$(objpfx)%$o: $dir/%.S \$(before-compile); \
          \$(compile-command.S)";                                     \
     echo "\$(objpfx)%$o: $dir/%.s \$(before-compile); \
          \$(compile-command.s)";                                     \
     echo "\$(objpfx)rtld-%$o: $dir/%.S \$(before-compile); \
          \$(compile-command.S)";                                     \
     echo "\$(objpfx)rtld-%$o: $dir/%.s \$(before-compile); \
          \$(compile-command.s)";                                     \
     echo "\$(objpfx)ptw-%$o: $dir/%.S \$(before-compile); \
          \$(compile-command.S)";                                     \
     echo "\$(objpfx)ptw-%$o: $dir/%.s \$(before-compile); \
          \$(compile-command.s)";                                     \
        \
     echo "\$(objpfx)%$o: $dir/%.c \$(before-compile); \
          \$(compile-command.c)";                                     \
     echo "\$(objpfx)rtld-%$o: $dir/%.c \$(before-compile); \
          \$(compile-command.c)";                                     \
     echo "\$(objpfx)ptw-%$o: $dir/%.c \$(before-compile); \
          \$(compile-command.c)";                                     \
   done; \
   echo "\$(objpfx)m_%.S: $dir/s_%.S; \$(+make-include-of-dep)";   \
   echo "\$(objpfx)m_%.c: $dir/s_%.c; \$(+make-include-of-dep)";   \
 done;                                                                \
 echo 'sysd-rules-done = t') > /usr/src/glibc-build/sysd-rulesT
mv -f /usr/src/glibc-build/sysd-rulesT /usr/src/glibc-build/sysd-rules
for dir in /usr/src/glibc-build sysdeps/i386/elf linuxthreads/sysdeps/unix/sysv/linux/i386 linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix linuxthreads/sysdeps/i386/i686 linuxthreads/sysdeps/i386 sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv/i386 sysdeps/unix/sysv sysdeps/unix/i386 sysdeps/unix sysdeps/posix sysdeps/i386/i686/fpu sysdeps/i386/i686 sysdeps/i386/i486 sysdeps/i386/fpu sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic; do \
  test -f $dir/syscalls.list && \
  { /bin/sh sysdeps/unix/make-syscalls.sh $dir || exit 1; }; \
  test $dir = sysdeps/unix && break; \
done > /usr/src/glibc-build/sysd-syscallsT
mv -f /usr/src/glibc-build/sysd-syscallsT /usr/src/glibc-build/sysd-syscalls
mawk 'BEGIN { subdirs = ""; inhibit = "" };                     \
/^#/ { next };                                          \
/^[^-]/ { subdirs = subdirs " " $0 };                   \
/^-/ { inhibit = inhibit " " substr($0, 2) };           \
END { printf "sysdep-subdirs =%s\n", subdirs;           \
      printf "sysdep-inhibit-subdirs =%s\n", inhibit;   \
      print "sysd-dirs-done = t" }'                     \
       /dev/null linuxthreads/sysdeps/pthread/Subdirs sysdeps/unix/inet/Subdirs sysdeps/unix/Subdirs > /usr/src/glibc-build/sysd-dirs-tmp
mv -f /usr/src/glibc-build/sysd-dirs-tmp /usr/src/glibc-build/sysd-dirs
make[1]: Leaving directory `/usr/src/glibc-2.3.3'
make[1]: Entering directory `/usr/src/glibc-2.3.3'
{ echo '#include "posix/bits/posix1_lim.h"';            \
  echo '#define _LIBC 1';                                       \
  echo '#include "misc/sys/uio.h"'; } |                 \
arm-linux-gcc -E -dM -MD -MP -MF /usr/src/glibc-build/bits/stdio_lim.dT -MT '/usr/src/glibc-build/bits/stdio_lim.h /usr/src/glibc-build/bits/stdio_lim.d'       \
      -Iinclude -I. -I/usr/src/glibc-build  -Ilibio  -I/usr/src/glibc-build -Isysdeps/i386/elf -Ilinuxthreads/sysdeps/unix/sysv/linux/i386 -Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread -Isysdeps/pthread -Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix -Ilinuxthreads/sysdeps/i386/i686 -Ilinuxthreads/sysdeps/i386 -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -xc - -o /usr/src/glibc-build/bits/stdio_lim.hT
sed -e 's@ /usr/src/glibc-build/@ $(common-objpfx)@g' -e 's@^/usr/src/glibc-build/@$(common-objpfx)@g' -e 's@  *\([^   \/$][^   \]*\)@ $(..)\1@g' -e 's@^\([^   \/$][^  \]*\)@$(..)\1@g'                        \
    /usr/src/glibc-build/bits/stdio_lim.dT > /usr/src/glibc-build/bits/stdio_lim.dt
mv -f /usr/src/glibc-build/bits/stdio_lim.dt /usr/src/glibc-build/bits/stdio_lim.d
fopen_max=`sed -n 's/^#define OPEN_MAX //1p' /usr/src/glibc-build/bits/stdio_lim.hT`;   \
filename_max=`sed -n 's/^#define PATH_MAX //1p' /usr/src/glibc-build/bits/stdio_lim.hT`;        \
iov_max=`sed -n 's/^#define UIO_MAXIOV //p' /usr/src/glibc-build/bits/stdio_lim.hT`;    \
fopen_max=${fopen_max:-16};                                     \
filename_max=${filename_max:-1024};                             \
if [ -z "$iov_max" ]; then                                      \
  define_iov_max="# undef IOV_MAX";                             \
else                                                            \
  define_iov_max="# define IOV_MAX $iov_max";                   \
fi;                                                             \
sed -e "s/@FOPEN_MAX@/$fopen_max/"                              \
    -e "s/@FILENAME_MAX@/$filename_max/"                        \
    -e "s/@L_tmpnam@/20/"                               \
    -e "s/@TMP_MAX@/238328/"                            \
    -e "s/@L_ctermid@/9/"                               \
    -e "s/@L_cuserid@/9/"                               \
    -e "s/@define_IOV_MAX@/$define_iov_max/"                    \
    stdio-common/stdio_lim.h.in > /usr/src/glibc-build/bits/stdio_lim.h.new
/bin/sh scripts/move-if-change /usr/src/glibc-build/bits/stdio_lim.h.new /usr/src/glibc-build/bits/stdio_lim.h
rm -f /usr/src/glibc-build/bits/stdio_lim.hT /usr/src/glibc-build/bits/stdio_lim.dT /usr/src/glibc-build/bits/stdio_lim.dt
touch /usr/src/glibc-build/bits/stdio_lim.st
{ { dirs='assert catgets iconvdata intl libio localedata malloc nis nscd nss posix resolv rt stdio-common string time wcsmbs';    \
    for d in $dirs; do                                            \
      while read on; do                                           \
        echo "depend $d $on";                                     \
      done < $d/Depend;                                   \
    done;                                                         \
    for f in csu assert ctype locale intl catgets math setjmp signal stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io termios resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow po argp crypt linuxthreads nss localedata timezone rt conform debug linuxthreads_db inet resolv hesiod sunrpc nis nscd streams login dlfcn elf; do                                         \
      echo $f;                                                    \
    done;                                                         \
  } | mawk -f scripts/gen-sorted.awk &&                                           \
  echo sysd-sorted-done = t;                                      \
} > /usr/src/glibc-build/sysd-sorted-tmp
mv -f /usr/src/glibc-build/sysd-sorted-tmp /usr/src/glibc-build/sysd-sorted
make[1]: Leaving directory `/usr/src/glibc-2.3.3'
make[1]: Entering directory `/usr/src/glibc-2.3.3'
sed '/^[        ]*#/d;s/^[      ]*%/#/' shlib-versions linuxthreads/shlib-versions linuxthreads_db/shlib-versions \
| arm-linux-gcc -E -undef  -Iinclude -I. -I/usr/src/glibc-build  -Ilibio  -I/usr/src/glibc-build -Isysdeps/i386/elf -Ilinuxthreads/sysdeps/unix/sysv/linux/i386 -Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread -Isysdeps/pthread -Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix -Ilinuxthreads/sysdeps/i386/i686 -Ilinuxthreads/sysdeps/i386 -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include include/libc-symbols.h       \
           -DASSEMBLER -x assembler-with-cpp - \
           > /usr/src/glibc-build/shlib-versions.v.iT
mv -f /usr/src/glibc-build/shlib-versions.v.iT /usr/src/glibc-build/shlib-versions.v.i
sed '/^[        ]*#/d;/^[       ]*$/d' /usr/src/glibc-build/shlib-versions.v.i > /usr/src/glibc-build/shlib-versions.vT
mv -f /usr/src/glibc-build/shlib-versions.vT /usr/src/glibc-build/shlib-versions.v
default_setname=''; \
while read conf version setname; do \
  test -n "$version" && \
  test `expr 'i686-pc-linux-gnulibc1' \
             : "$conf"` != 0 || continue; \
  if test "x$version" = xDEFAULT; then \
    default_setname="$setname"; \
  else \
     \
    lib=`echo $version | sed 's/=.*$//'`; \
    if eval test -z "\${versioned_${lib}}"; then \
      eval versioned_${lib}=yes; \
      number=`echo $version | sed "s/^.*=//"`; \
      echo $lib $number ${setname:-${default_setname}}; \
    fi; \
  fi; \
done < /usr/src/glibc-build/shlib-versions.v > /usr/src/glibc-build/soversions.iT; exit 0
mv -f /usr/src/glibc-build/soversions.iT /usr/src/glibc-build/soversions.i
sed '/^[        ]*#/d;s/^[      ]*%/#/' Versions.def \
| arm-linux-gcc -E -undef  -Iinclude -I. -I/usr/src/glibc-build  -Ilibio  -I/usr/src/glibc-build -Isysdeps/i386/elf -Ilinuxthreads/sysdeps/unix/sysv/linux/i386 -Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread -Isysdeps/pthread -Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix -Ilinuxthreads/sysdeps/i386/i686 -Ilinuxthreads/sysdeps/i386 -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include include/libc-symbols.h       \
           -DASSEMBLER -x assembler-with-cpp - \
           > /usr/src/glibc-build/Versions.def.v.iT
mv -f /usr/src/glibc-build/Versions.def.v.iT /usr/src/glibc-build/Versions.def.v.i
sed '/^[        ]*#/d;/^[       ]*$/d' /usr/src/glibc-build/Versions.def.v.i > /usr/src/glibc-build/Versions.def.vT
mv -f /usr/src/glibc-build/Versions.def.vT /usr/src/glibc-build/Versions.def.v
{ while read lib version setname; do \
    test -z "$setname" || echo "$lib : $setname"; \
  done < /usr/src/glibc-build/soversions.i; \
  cat /usr/src/glibc-build/Versions.def.v; \
} | LC_ALL=C mawk -f scripts/firstversions.awk > /usr/src/glibc-build/Versions.allT
mv -f /usr/src/glibc-build/Versions.allT /usr/src/glibc-build/Versions.all
LC_ALL=C mawk -v oldest_abi=default -f scripts/abi-versions.awk /usr/src/glibc-build/Versions.all > /usr/src/glibc-build/abi-versions.hT
mv -f /usr/src/glibc-build/abi-versions.hT /usr/src/glibc-build/abi-versions.h
rm -f /usr/src/glibc-build/tls.makeT /usr/src/glibc-build/tls.make.dT
(echo '# Generated from tls.make.c by Makerules.'; \
 arm-linux-gcc -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -mpreferred-stack-boundary=2     -Iinclude -I. -I/usr/src/glibc-build  -Ilibio  -I/usr/src/glibc-build -Isysdeps/i386/elf -Ilinuxthreads/sysdeps/unix/sysv/linux/i386 -Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread -Isysdeps/pthread -Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix -Ilinuxthreads/sysdeps/i386/i686 -Ilinuxthreads/sysdeps/i386 -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include include/libc-symbols.h       -E tls.make.c \
       -MD -MP -MT '$(common-objpfx)tls.make' -MF /usr/src/glibc-build/tls.make.dT \
 | sed -n '/@@@/{s/@@@[  ]*\(.*\)@@@/\1/;s/[     ]*$//p;}'; \
 echo 'common-generated += tls.make'; \
 sed -e 's@ /usr/src/glibc-build/@ $(common-objpfx)@g' -e 's@^/usr/src/glibc-build/@$(common-objpfx)@g' -e 's@  *\([^  \/$][^   \]*\)@ $(..)\1@g' -e 's@^\([^   \/$][^  \]*\)@$(..)\1@g' /usr/src/glibc-build/tls.make.dT; \
 rm -f /usr/src/glibc-build/tls.make.dT) > /usr/src/glibc-build/tls.makeT
cc1: error: invalid option `preferred-stack-boundary=2'
sed: can't read /usr/src/glibc-build/tls.make.dT: No such file or directory
mv -f /usr/src/glibc-build/tls.makeT /usr/src/glibc-build/tls.make
sed '/^[        ]*#/d;s/^[      ]*%/#/' csu/Versions assert/Versions ctype/Versions locale/Versions intl/Versions catgets/Versions math/Versions setjmp/Versions signal/Versions stdlib/Versions stdio-common/Versions libio/Versions malloc/Versions string/Versions wcsmbs/Versions time/Versions dirent/Versions grp/Versions pwd/Versions posix/Versions io/Versions termios/Versions resource/Versions misc/Versions socket/Versions sysvipc/Versions gmon/Versions iconv/Versions wctype/Versions shadow/Versions argp/Versions crypt/Versions linuxthreads/Versions nss/Versions rt/Versions debug/Versions linuxthreads_db/Versions inet/Versions resolv/Versions hesiod/Versions sunrpc/Versions nis/Versions streams/Versions login/Versions dlfcn/Versions elf/Versions sysdeps/i386/elf/Versions linuxthreads/sysdeps/unix/sysv/linux/Versions linuxthreads/sysdeps/i386/i686/Versions sysdeps/unix/sysv/linux/i386/Versions sysdeps/unix/sysv/linux/Versions sysdeps/unix/sysv/Versions sysdeps/i386/i486/Versions sysdeps/i386/fpu/Versions sysdeps/i386/Versions sysdeps/wordsize-32/Versions \
| arm-linux-gcc -E -undef  -Iinclude -I. -I/usr/src/glibc-build  -Ilibio  -I/usr/src/glibc-build -Isysdeps/i386/elf -Ilinuxthreads/sysdeps/unix/sysv/linux/i386 -Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread -Isysdeps/pthread -Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix -Ilinuxthreads/sysdeps/i386/i686 -Ilinuxthreads/sysdeps/i386 -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include include/libc-symbols.h       \
           -DASSEMBLER -x assembler-with-cpp - \
           > /usr/src/glibc-build/Versions.v.iT
mv -f /usr/src/glibc-build/Versions.v.iT /usr/src/glibc-build/Versions.v.i
sed '/^[        ]*#/d;/^[       ]*$/d' /usr/src/glibc-build/Versions.v.i > /usr/src/glibc-build/Versions.vT
mv -f /usr/src/glibc-build/Versions.vT /usr/src/glibc-build/Versions.v
( echo 'sysd-versions-subdirs = csu assert ctype locale intl catgets math setjmp signal stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io termios resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow po argp crypt linuxthreads nss localedata timezone rt conform debug linuxthreads_db inet resolv hesiod sunrpc nis nscd streams login dlfcn elf sysdeps/i386/elf linuxthreads/sysdeps/unix/sysv/linux/i386 linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix linuxthreads/sysdeps/i386/i686 linuxthreads/sysdeps/i386 sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv/i386 sysdeps/unix/sysv sysdeps/unix/i386 sysdeps/unix sysdeps/posix sysdeps/i386/i686/fpu sysdeps/i386/i686 sysdeps/i386/i486 sysdeps/i386/fpu sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic' ; \
  cat /usr/src/glibc-build/Versions.v \
  | LC_ALL=C mawk -v buildroot=/usr/src/glibc-build/ -v defsfile=/usr/src/glibc-build/Versions.all \
                    -v move_if_change='/bin/sh scripts/move-if-change' \
                    -f scripts/versions.awk; \
) > /usr/src/glibc-build/sysd-versionsT
mv -f /usr/src/glibc-build/sysd-versionsT /usr/src/glibc-build/sysd-versions
(while read lib number setname; do \
   case $number in \
     [0-9]*) echo "$lib.so-version=.$number"; \
             echo "all-sonames+=$lib=$lib.so\$($lib.so-version)";;\
     *)      echo "$lib.so-version=$number"; \
             echo "all-sonames+=$lib=\$($lib.so-version)";;\
   esac; \
 done; \
 echo soversions.mk-done = t;) < /usr/src/glibc-build/soversions.i > /usr/src/glibc-build/soversions.mkT; exit 0
mv -f /usr/src/glibc-build/soversions.mkT /usr/src/glibc-build/soversions.mk
make[1]: Leaving directory `/usr/src/glibc-2.3.3'
make[1]: Entering directory `/usr/src/glibc-2.3.3'
./scripts/mkinstalldirs /usr/src/glibc-build/gnu
mkdir /usr/src/glibc-build/gnu
(echo '/* This file is automatically generated.';\
 echo '   It defines macros to allow user program to find the shared';\
 echo '   library files which come as part of GNU libc.  */';\
 echo '#ifndef __GNU_LIB_NAMES_H'; \
 echo '#define __GNU_LIB_NAMES_H        1'; \
 echo; \
 (libs='libm=libm.so.6 libc=libc.so.6 ld=ld-linux.so.2 libdl=libdl.so.2 libutil=libutil.so.1 libresolv=libresolv.so.2 libnss_files=libnss_files.so.2 libnss_dns=libnss_dns.so.2 libnss_compat=libnss_compat.so.2 libnss_nis=libnss_nis.so.2 libnss_nisplus=libnss_nisplus.so.2 libnss_ldap=libnss_ldap.so.2 libnss_hesiod=libnss_hesiod.so.2 libnsl=libnsl.so.1 libcrypt=libcrypt.so.1 libBrokenLocale=libBrokenLocale.so.1 librt=librt.so.1 libanl=libanl.so.1 libpthread=libpthread.so.0 libthread_db=libthread_db.so.1';\
  for l in $libs; do \
    name=`echo $l | sed 's/.*=//'`; \
    upname=`echo $l | sed 's/=.*//' | \
            tr 'abcdefghijklmnopqrstuvwxyz-' \
               'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`; \
    upname2=`echo $name | sed 's/[.]so.*//' | \
             tr 'abcdefghijklmnopqrstuvwxyz-' \
                'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`; \
    echo "#define       ${upname}_SO    \"$name\""; \
    if test $upname != $upname2; then \
      echo "#define     ${upname2}_SO   \"$name\""; \
    fi; \
  done;) | sort; \
 echo; \
 echo '#endif   /* gnu/lib-names.h */';) > /usr/src/glibc-build/gnu/lib-names.T
/bin/sh scripts/move-if-change /usr/src/glibc-build/gnu/lib-names.T /usr/src/glibc-build/gnu/lib-names.h
touch /usr/src/glibc-build/gnu/lib-names.stmp
rm -f /usr/src/glibc-build/tls.makeT /usr/src/glibc-build/tls.make.dT
(echo '# Generated from tls.make.c by Makerules.'; \
 arm-linux-gcc -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -mpreferred-stack-boundary=2     -Iinclude -I. -I/usr/src/glibc-build  -Ilibio  -I/usr/src/glibc-build -Isysdeps/i386/elf -Ilinuxthreads/sysdeps/unix/sysv/linux/i386 -Ilinuxthreads/sysdeps/unix/sysv/linux -Ilinuxthreads/sysdeps/pthread -Isysdeps/pthread -Ilinuxthreads/sysdeps/unix/sysv -Ilinuxthreads/sysdeps/unix -Ilinuxthreads/sysdeps/i386/i686 -Ilinuxthreads/sysdeps/i386 -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include include/libc-symbols.h       -E tls.make.c \
       -MD -MP -MT '$(common-objpfx)tls.make' -MF /usr/src/glibc-build/tls.make.dT \
 | sed -n '/@@@/{s/@@@[  ]*\(.*\)@@@/\1/;s/[     ]*$//p;}'; \
 echo 'common-generated += tls.make'; \
 sed -e 's@ /usr/src/glibc-build/@ $(common-objpfx)@g' -e 's@^/usr/src/glibc-build/@$(common-objpfx)@g' -e 's@  *\([^  \/$][^   \]*\)@ $(..)\1@g' -e 's@^\([^   \/$][^  \]*\)@$(..)\1@g' /usr/src/glibc-build/tls.make.dT; \
 rm -f /usr/src/glibc-build/tls.make.dT) > /usr/src/glibc-build/tls.makeT
cc1: error: invalid option `preferred-stack-boundary=2'
sed: can't read /usr/src/glibc-build/tls.make.dT: No such file or directory
mv -f /usr/src/glibc-build/tls.makeT /usr/src/glibc-build/tls.make
make[1]: Leaving directory `/usr/src/glibc-2.3.3'
make[1]: Entering directory `/usr/src/glibc-2.3.3'
rm -f /usr/src/glibc-build/stamp.o; > /usr/src/glibc-build/stamp.o
rm -f /usr/src/glibc-build/stamp.os; > /usr/src/glibc-build/stamp.os
rm -f /usr/src/glibc-build/stamp.op; > /usr/src/glibc-build/stamp.op
rm -f /usr/src/glibc-build/stamp.oS; > /usr/src/glibc-build/stamp.oS
make  -C csu subdir_lib
make[2]: Entering directory `/usr/src/glibc-2.3.3/csu'
.././scripts/mkinstalldirs /usr/src/glibc-build/csu
mkdir /usr/src/glibc-build/csu
(case linux-gnulibc1 in \
   linux*) version=`(echo -e "#include <linux/version.h>\nUTS_RELEASE"\
                     | arm-linux-gcc  -I../include -I. -I/usr/src/glibc-build/csu -I.. -I../libio  -I/usr/src/glibc-build -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DHAVE_INITFINI -E -P - | \
                     sed -e 's/"\([^"]*\)".*/\1/p' -e d) 2>/dev/null`;\
           if [ -z "$version" ]; then \
             if [ -r /proc/version ]; then \
               version=`sed 's/.*Linux version \([^ ]*\) .*/>>\1<</' \
                        < /proc/version`; \
             else \
               version=`uname -r`; \
             fi; \
           fi; \
           os=`uname -s 2> /dev/null`; \
           if [ -z "$os" ]; then \
             os=Linux; \
           fi; \
           echo "\"Compiled on a $os $version system" \
                "on `date +%Y-%m-%d`.\\n\"" ;; \
   *) ;; \
 esac; \
 files="../libio/Banner ../crypt/Banner ../linuxthreads/Banner ../resolv/Banner ../linuxthreads_db/Banner ../nis/Banner";                               \
 if test -n "$files"; then                              \
   echo "\"Available extensions:\\n\"";                 \
   sed -e '/^#/d' -e 's/^[[:space:]]*/  /'              \
       -e 's/^\(.*\)$/\"\1\\n\"/' $files;               \
 fi) > /usr/src/glibc-build/csu/version-info.hT
mv -f /usr/src/glibc-build/csu/version-info.hT /usr/src/glibc-build/csu/version-info.h
.././scripts/mkinstalldirs /usr/src/glibc-build/csu
rm -f /usr/src/glibc-build/csu/abi-tag.h.new
sed -e 's/#.*$//' -e '/^[       ]*$/d' ../abi-tags | \
while read conf tagos tagver; do \
  test `expr 'i686-pc-linux-gnulibc1' \
             : "$conf"` != 0 || continue; \
  ( echo "$tagos" | \
    sed -e 's/[^0-9xXa-fA-F     ]//' \
        -e 's/^/#define __ABI_TAG_OS /'; \
    echo "#ifndef __ABI_TAG_VERSION"; \
    echo "$tagver" | \
    sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$//' \
      -e 's/ /,/g' -e 's/^/# define __ABI_TAG_VERSION /'; \
    echo "#endif" ) > /usr/src/glibc-build/csu/abi-tag.h.new; \
done
if test -r /usr/src/glibc-build/csu/abi-tag.h.new; then mv -f /usr/src/glibc-build/csu/abi-tag.h.new /usr/src/glibc-build/csu/abi-tag.h; \
else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi
mawk -f ../scripts/gen-as-const.awk ../linuxthreads/sysdeps/i386/tcb-offsets.sym \
| arm-linux-gcc -S -o - -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -mpreferred-stack-boundary=4     -I../include -I. -I/usr/src/glibc-build/csu -I.. -I../libio  -I/usr/src/glibc-build -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /armtools/bin/../lib/gcc/arm-linux/3.4.2/include -isystem /armtools/arm-linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DHAVE_INITFINI -x c - \
        -MD -MP -MF /usr/src/glibc-build/tcb-offsets.h.dT -MT '/usr/src/glibc-build/tcb-offsets.h.d /usr/src/glibc-build/tcb-offsets.h' \
| sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$/#define \1 \2/p' > /usr/src/glibc-build/tcb-offsets.hT
cc1: error: invalid option `preferred-stack-boundary=4'
sed -e 's@ /usr/src/glibc-build/@ $(common-objpfx)@g' -e 's@^/usr/src/glibc-build/@$(common-objpfx)@g' -e 's@  *\.\.\/\([^      \]*\)@ $(..)\1@g' -e 's@^\.\.\/\([^     \]*\)@$(..)\1@g' \
    /usr/src/glibc-build/tcb-offsets.h.dT > /usr/src/glibc-build/tcb-offsets.h.dT2
sed: can't read /usr/src/glibc-build/tcb-offsets.h.dT: No such file or directory
make[2]: *** [/usr/src/glibc-build/tcb-offsets.h] Error 2
make[2]: Leaving directory `/usr/src/glibc-2.3.3/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/usr/src/glibc-2.3.3'
make: *** [all] Error 2



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: arm-linux-gcc can't recognize "-mpreferred-stack-boundary"
  2004-11-26 11:30 arm-linux-gcc can't recognize "-mpreferred-stack-boundary" Arthur Yang
@ 2004-11-27  2:46 ` Ian Lance Taylor
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Lance Taylor @ 2004-11-27  2:46 UTC (permalink / raw)
  To: Arthur Yang; +Cc: gcc-help

"Arthur Yang" <arthuryang@online.cq.cn> writes:

> However when I build glibc, I found error caused by that arm-linux-gcc can't recognizing "preferred-stack-boundary=4". The output is attached at the end of the mail.
> 
> So I checked like this:
> gcc -mpreferred-stack-boundary=4 tt.c
> It's OK.
> arm-linux-gcc -mpreferred-stack-boundary=4 tt.c
> it responded as below:
> cc1: error: invalid option `preferred-stack-boundary=4'

Yes.  -mpreferred-stack-boundary is an i386-specific option.

This problem would seem to be in the glibc cross-build procedure.  It
is using an i386-specific option for the ARM compiler.  I don't know
why.  It's not a compiler bug.  You will have to talk to the glibc
people.

Ian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-11-27  2:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-26 11:30 arm-linux-gcc can't recognize "-mpreferred-stack-boundary" Arthur Yang
2004-11-27  2:46 ` Ian Lance Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).