This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: AArch64 patches for glibc master.
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Marcus Shawcroft <marcus dot shawcroft at linaro dot org>
- Cc: GNU C Library <libc-alpha at sourceware dot org>, Mark Salter <msalter at redhat dot com>
- Date: Mon, 09 Dec 2013 15:15:06 -0500
- Subject: Re: AArch64 patches for glibc master.
- Authentication-results: sourceware.org; auth=none
- References: <52A60A93 dot 1050402 at redhat dot com>
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.