[Bug 59] New: Linuxthreads, sysdep-cancel.h, and powerpc problem
bugzilla-daemon at osuosl.org
bugzilla-daemon at osuosl.org
Sat Jan 17 21:48:44 UTC 2009
https://bugs.busybox.net/show_bug.cgi?id=59
Summary: Linuxthreads, sysdep-cancel.h, and powerpc problem
Product: uClibc
Version: 0.9.30
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
AssignedTo: unassigned at uclibc.org
ReportedBy: thekevinday at gmail.com
CC: uclibc-cvs at uclibc.org
Estimated Hours: 0.0
Research shows this problem was seen by another person not long ago:
http://lists.uclibc.org/pipermail/uclibc/2008-September/020195.html
Using the new linuxthreads on uClibc-0.9.30, I got the problem mentioned at
that address under a PPC64.
if sysdep-cancel.h is misplaced then copying it would theoretically work so
here is what I did to _force_ things compile:
# cp libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/*
libpthread/linuxthreads/sysdeps/powerpc/powerpc32/
# cp libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/*
libpthread/linuxthreads/sysdeps/powerpc/powerpc64/
However, it was still not being included, so I copied the pt-machine.h file and
used it as a template to do what it does only for the sysdep-cancel.h:
# cp libpthread/linuxthreads/sysdeps/powerpc/{pt-machine.h,sysdep-cancel.h}
# sed -i -e 's|pt-machine.h|sysdep-cancel.h|g'
libpthread/linuxthreads/sysdeps/powerpc/sysdep-cancel.h
This allowed the compiler to continue up to the point where the linker could
not find the function called: "__h_errno_location" when linking the object code
generated by the file: libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c
This function seems to already be defined here:
libc/misc/internals/__h_errno_location.c
removing the duplicate __h_errno_location from
libpthread/linuxthreads/sysdeps/pthread/herrno-loc.c does in fact allow the
compilation, building, and installation of uClibc.
Of course, arbitrarily removing code is not a good thing..
The problem is that the sysdep-cancel.h is not being properly pathed/including
if it should be included at all;
Following that there seems to be a linker problem with the "__h_errno_location"
function in the new pthreads implementation.
However, I am not certain about whether or not the __h_errno_location problem
was introduced by my possibly improperly copying of sysdep-cancel.h.
A second issue that I noticed is that the powerpc32 was being used on this
powerpc64 system with a native powerpc64 host. I am wondering how to specify
powerpc64 under uClibc instead of powerpc32. The fact that it is trying to use
32-bit under the 64-bit native host may be relevant to the primary issue.
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the uClibc-cvs
mailing list