This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

current glibc build problems on alpha


We are trying to build current glibc (CVS HEAD) on few archs, including
alpha-linux (using gcc 3.3.3 and binutils 2.15.91.0.1, previously
binutils 2.15.90.0.3 with the same result).

The first problem was syntax error in divl.S (present since about a month):

make[2]: Entering directory `/home/users/qboosh/PLD/BUILD/libc/gnulib'
.././scripts/mkinstalldirs /home/users/qboosh/PLD/BUILD/libc/builddir/gnulib
mkdir /home/users/qboosh/PLD/BUILD/libc/builddir/gnulib
alpha-pld-linux-gcc ../sysdeps/alpha/divl.S -c  -I../include -I. -I/home/users/qboosh/PLD/BUILD/libc/builddir/gnulib -I.. -I../libio  -I/home/users/qboosh/PLD/BUILD/libc/builddir -I../linuxthreads/sysdeps/alpha/elf -I../sysdeps/alpha/elf -I../linuxthreads/sysdeps/unix/sysv/linux/alpha -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/alpha -I../sysdeps/unix/sysv/linux/alpha/alpha -I../sysdeps/unix/sysv/linux/alpha -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/alpha -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/alpha/fpu -I../sysdeps/alpha -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/alpha/soft-fp -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/lib/gcc-lib/alpha-pld-linux/3.3.3/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DASSEMBLER   -Wa,--noexecstack  -o
/home/users/qboosh/PLD/BUILD/libc/builddir/gnulib/divl.o -MD -MP -MF /home/users/qboosh/PLD/BUILD/libc/builddir/gnulib/divl.o.dt
../sysdeps/alpha/divl.S: Assembler messages:
../sysdeps/alpha/divl.S:51: Error: syntax error
../sysdeps/alpha/divl.S:51: Error: syntax error
../sysdeps/alpha/divl.S:51: Error: syntax error
../sysdeps/alpha/divl.S:51: Error: syntax error
../sysdeps/alpha/divl.S:56: Error: syntax error
../sysdeps/alpha/divl.S:56: Error: syntax error
make[2]: *** [/home/users/qboosh/PLD/BUILD/libc/builddir/gnulib/divl.o] Error 1
make[2]: Leaving directory `/home/users/qboosh/PLD/BUILD/libc/gnulib'
make[1]: *** [gnulib/subdir_lib] Error 2
make[1]: Leaving directory `/home/users/qboosh/PLD/BUILD/libc'
make: *** [all] Error 2

It was caused by using "$sp" in macros defined in sysdeps/alpha/div_libc.h
- gcc unrolled "$sp" to "$$30". Attached patch (changing "$sp" to just
"sp") fixed this issue.


But then build failed on:

make[3]: Leaving directory `/home/users/qboosh/PLD/BUILD/libc/elf'
alpha-pld-linux-gcc    -nostdlib -nostartfiles -r -o /home/users/qboosh/PLD/BUILD/libc/builddir/elf/librtld.os '-Wl,-(' /home/users/qboosh/PLD/BUILD/libc/builddir/elf/dl-allobjs.os /home/users/qboosh/PLD/BUILD/libc/builddir/elf/rtld-libc.a -lgcc '-Wl,-)' \
          -Wl,-Map,/home/users/qboosh/PLD/BUILD/libc/builddir/elf/librtld.os.map
alpha-pld-linux-gcc    -nostdlib -nostartfiles -shared  \
  -Wl,-z,combreloc -Wl,-z,relro -Wl,-z,defs -Wl,--verbose 2>&1 |        \
          LC_ALL=C \
          sed -e '/^=========/,/^=========/!d;/^=========/d'    \
              -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
          > /home/users/qboosh/PLD/BUILD/libc/builddir/elf/ld.so.lds
alpha-pld-linux-gcc    -nostdlib -nostartfiles -shared -o /home/users/qboosh/PLD/BUILD/libc/builddir/elf/ld.so                  \
          -Wl,-z,combreloc -Wl,-z,relro -Wl,-z,defs     \
          /home/users/qboosh/PLD/BUILD/libc/builddir/elf/librtld.os -Wl,--version-script=/home/users/qboosh/PLD/BUILD/libc/builddir/ld.map              \
          -Wl,-soname=ld-linux.so.2 -T /home/users/qboosh/PLD/BUILD/libc/builddir/elf/ld.so.lds
/home/users/qboosh/PLD/BUILD/libc/builddir/elf/librtld.os(.text+0x18): In function `_dl_start_user':: relocation truncated to fit: GPREL16 _dl_skip_args
collect2: ld returned 1 exit status
make[2]: *** [/home/users/qboosh/PLD/BUILD/libc/builddir/elf/ld.so] Error 1
make[2]: Leaving directory `/home/users/qboosh/PLD/BUILD/libc/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/home/users/qboosh/PLD/BUILD/libc'
make: *** [all] Błąd 2

How to fix this one?
elf/rtld.c hasn't been changed since 2 months, so it doesn't look like
work in progress.
I suppose that this error may be connected with adding "attribute_relro"
in the middle of January (it didn't appear in 20040101 snapshot).


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/
PLD Team

Attachment: glibc-alpha-div.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]