Opened 17 years ago

Closed 17 years ago

Last modified 14 years ago

#133 closed task (fixed)

glibc-2.7-branch_update-1.patch breaks build on powerpc.

Reported by: ken Owned by: clfs-commits@…
Priority: major Milestone: CLFS Standard 1.1.0
Component: BOOK Version:
Keywords: Cc:

Description

With the patch, on ppc64 both sizes of glibc fail to build in chapter 5.

<stdin>: In function 'dummy':
<stdin>:14: error: 'tcbhead_t' has no member named 'private_futex'
make[2]: *** [/mnt/lfs/building/glibc-build/tcb-offsets.h] Error 1
make[2]: Leaving directory `/mnt/lfs/building/glibc-2.7/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/mnt/lfs/building/glibc-2.7'
make: *** [all] Error 2

This is caused by the one code change in the patch (everything else is ChangeLog or texinfo), to nptl/sysdeps/powerpc/tcb-offsets.sym -

-PRIVATE_FUTEX_OFFSET           thread_offsetof (header.private_futex)
+#ifndef __ASSUME_PRIVATE_FUTEX
+PRIVATE_FUTEX_OFFSET           offsetof (tcbhead_t, private_futex)
+#endif

The change log doesn't mention this, I wonder if this is only part of a change ?

Change History (4)

comment:1 by ken, 17 years ago

I'm not following glibc development at the moment. The changed file only applies to ppc and ppc64, so no other arches will be affected - how about I drop it from the patch and update that as glibc-2.7-branch_update-2 ?

comment:2 by Joe Ciccone, 17 years ago

Milestone: CLFS Standard 1.1.0

comment:3 by ken, 17 years ago

And lo, /me didst get around to trying to build for ppc! and guess what ?

/csu/abi-tag.h.new /mnt/lfs/building/glibc-build/csu/abi-tag.h; \
        else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi
gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/powerpc/tcb-offsets.sym \
        | powerpc-unknown-linux-gnu-gcc -S -o /mnt/lfs/building/glibc-build/tcb-offsets.hT3 -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -mnew-mnemonics -Wstrict-prototypes -mlong-double-128     -I../include -I/mnt/lfs/building/glibc-build/csu -I/mnt/lfs/building/glibc-build -I../sysdeps/powerpc/powerpc32/elf -I../sysdeps/powerpc/elf -I../sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu -I../sysdeps/powerpc/powerpc32/fpu -I../nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../nptl/sysdeps/unix/sysv/linux/powerpc -I../sysdeps/unix/sysv/linux/powerpc -I../sysdeps/ieee754/ldbl-128ibm -I../sysdeps/ieee754/ldbl-opt -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/powerpc -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/powerpc/powerpc32 -I../sysdeps/wordsize-32 -I../sysdeps/powerpc/fpu -I../nptl/sysdeps/powerpc -I../sysdeps/powerpc -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl  -I.. -I../libio -I. -nostdinc -isystem /mnt/lfs/cross-tools/bin/../lib/gcc/powerpc-unknown-linux-gnu/4.2.2/include -isystem /tools/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DHAVE_INITFINI -x c - \
                -MD -MP -MF /mnt/lfs/building/glibc-build/tcb-offsets.h.dT -MT '/mnt/lfs/building/glibc-build/tcb-offsets.h.d /mnt/lfs/building/glibc-build/tcb-offsets.h'
<stdin>: In function 'dummy':
<stdin>:14: error: 'tcbhead_t' has no member named 'private_futex'
make[2]: *** [/mnt/lfs/building/glibc-build/tcb-offsets.h] Error 1
make[2]: Leaving directory `/mnt/lfs/building/glibc-2.7/csu'

Yes, everybody can laugh (if they wish) at my conservatism in still building under /mnt/lfs, but the fact is this piece of code (the last part of the patch, for nptl/sysdeps/powerpc/tcb-offsets.sym) doesn't build on either ppc or ppc64. Earlier today, I had a look at the 20071217 glibc-2.7 snapshot: it doesn't have this code.

comment:4 by ken, 17 years ago

Resolution: fixed
Status: newclosed

Should be fixed by r3853.

Note: See TracTickets for help on using tickets.