This is the mail archive of the libc-alpha@sourceware.org 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]

Re: AArch64 patches for glibc master.


On 12/09/2013 01:23 PM, Carlos O'Donell wrote:
> You should fix the build failures for 2.19 though. You have until the end
> of December to get these fixes in place before the release code freeze.
> After the freeze you can still get them in but you need explicit ACK from
> the release manager (Allan McRae).
> 
> Shout if you need help.

I was asked some specific questions about these patches today, but when
I went to rebuild without the patches the build succeeded.

That's quite odd since I clearly have the following build failures in
my logs, and my build tree was wedged, and I used the patches to unwedge
the build.

e.g.

gcc ../sysdeps/unix/sysv/linux/pread.c -c -std=gnu99 -fgnu89-inline  -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes   -fexceptions -fasynchronous-unwind-tables    -g -O2  -I../include -I/localhome/codonell/build/glibc/posix  -I/localhome/codonell/build/glibc  -I../ports/sysdeps/unix/sysv/linux/aarch64/nptl  -I../ports/sysdeps/unix/sysv/linux/aarch64  -I../ports/sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../nptl/sysdeps/unix/sysv/linux  -I../nptl/sysdeps/pthread  -I../sysdeps/pthread  -I../ports/sysdeps/unix/sysv/linux  -I../sysdeps/unix/sysv/linux  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../nptl/sysdeps/unix/sysv  -I../ports/sysdeps/unix/sysv  -I../sysdeps/unix/sysv  -I../nptl/sysdeps/unix  -I../ports/sysdeps/unix  -I../sysdeps/unix  -I../sysdeps/posix  -I../ports/sysdeps/aarch64/fpu  -I../ports/sysdeps/aarch64/nptl  -I../ports/sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee75!
 4/ldbl-128
  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../ports/sysdeps/aarch64/soft-fp  -I../sysdeps/ieee754  -I../sysdeps/generic  -I../nptl  -I../ports  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.2/include -isystem /localhome/codonell/install-linux/include  -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -o /localhome/codonell/build/glibc/posix/pread.o -MD -MP -MF /localhome/codonell/build/glibc/posix/pread.o.dt -MT /localhome/codonell/build/glibc/posix/pread.o
gcc ../sysdeps/unix/sysv/linux/pwrite.c -c -std=gnu99 -fgnu89-inline  -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes   -fexceptions -fasynchronous-unwind-tables    -g -O2  -I../include -I/localhome/codonell/build/glibc/posix  -I/localhome/codonell/build/glibc  -I../ports/sysdeps/unix/sysv/linux/aarch64/nptl  -I../ports/sysdeps/unix/sysv/linux/aarch64  -I../ports/sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../nptl/sysdeps/unix/sysv/linux  -I../nptl/sysdeps/pthread  -I../sysdeps/pthread  -I../ports/sysdeps/unix/sysv/linux  -I../sysdeps/unix/sysv/linux  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../nptl/sysdeps/unix/sysv  -I../ports/sysdeps/unix/sysv  -I../sysdeps/unix/sysv  -I../nptl/sysdeps/unix  -I../ports/sysdeps/unix  -I../sysdeps/unix  -I../sysdeps/posix  -I../ports/sysdeps/aarch64/fpu  -I../ports/sysdeps/aarch64/nptl  -I../ports/sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee7!
 54/ldbl-12
8  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../ports/sysdeps/aarch64/soft-fp  -I../sysdeps/ieee754  -I../sysdeps/generic  -I../nptl  -I../ports  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.2/include -isystem /localhome/codonell/install-linux/include  -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -o /localhome/codonell/build/glibc/posix/pwrite.o -MD -MP -MF /localhome/codonell/build/glibc/posix/pwrite.o.dt -MT /localhome/codonell/build/glibc/posix/pwrite.o
../sysdeps/unix/sysv/linux/pwrite.c:31:4: error: #error "__NR_pwrite and __NR_pwrite64 both defined???"
 #  error "__NR_pwrite and __NR_pwrite64 both defined???"
    ^
make[2]: *** [/localhome/codonell/build/glibc/posix/pwrite.o] Error 1

This is IMO triggered in some way by ports/sysdeps/unix/sysv/linux/generic/sysdep.h
which defines __NR_pwrite and __NR_pread for all 64-bit targets resulting
in the above failure:
~~~
#if __WORDSIZE == 64
/* By defining the older names, glibc will build syscall wrappers for
   both pread and pread64; sysdeps/unix/sysv/linux/wordsize-64/pread64.c
   will suppress generating any separate code for pread64.c.  */
#define __NR_pread __NR_pread64
#define __NR_pwrite __NR_pwrite64
#endif
~~~

and...

gcc ../sysdeps/unix/sysv/linux/llseek.c -c -std=gnu99 -fgnu89-inline  -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes       -g -O2  -I../include -I/localhome/codonell/build/glibc/misc  -I/localhome/codonell/build/glibc  -I../ports/sysdeps/unix/sysv/linux/aarch64/nptl  -I../ports/sysdeps/unix/sysv/linux/aarch64  -I../ports/sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../nptl/sysdeps/unix/sysv/linux  -I../nptl/sysdeps/pthread  -I../sysdeps/pthread  -I../ports/sysdeps/unix/sysv/linux  -I../sysdeps/unix/sysv/linux  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../nptl/sysdeps/unix/sysv  -I../ports/sysdeps/unix/sysv  -I../sysdeps/unix/sysv  -I../nptl/sysdeps/unix  -I../ports/sysdeps/unix  -I../sysdeps/unix  -I../sysdeps/posix  -I../ports/sysdeps/aarch64/fpu  -I../ports/sysdeps/aarch64/nptl  -I../ports/sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/ieee754/dbl-64/w!
 ordsize-64
  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../ports/sysdeps/aarch64/soft-fp  -I../sysdeps/ieee754  -I../sysdeps/generic  -I../nptl  -I../ports  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.2/include -isystem /localhome/codonell/install-linux/include  -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -o /localhome/codonell/build/glibc/misc/llseek.o -MD -MP -MF /localhome/codonell/build/glibc/misc/llseek.o.dt -MT /localhome/codonell/build/glibc/misc/llseek.o
../sysdeps/unix/sysv/linux/llseek.c: In function ‘__llseek’:
../sysdeps/unix/sysv/linux/llseek.c:33:507: error: ‘__NR_llseek’ undeclared (first use in this function)
   return (loff_t) (INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 32),
                                       ^
../sysdeps/unix/sysv/linux/llseek.c:33:507: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/localhome/codonell/build/glibc/misc/llseek.o] Error 1

However, I can trigger neither of these failures today after backing
out the patches, cleaning all object directories, and rebuilding.

Cheers,
Carlos.


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