Daniel,
Got passed the first issue, but the second one came around when
trying to get NPTL to compile with N32. Here's what I got. The code does
compile under pure 64 bit no problems.
mips64el-unknown-linux-gnu-gcc -mel -march=r5000 -mtune=r5000 -mabi=n32
../sysdeps/unix/sysv/linux/ptrace.c -c -std=gnu99 -O2 -Wall -Winline
-Wstrict-prototypes -Wwrite-strings -g -I../include -I.
-I/mnt/lfs-mips64/build/glibc-cross-n32/misc -I.. -I../libio -I../nptl
-I/mnt/lfs-mips64/build/glibc-cross-n32 -I../sysdeps/mips/elf
-I../libidn/sysdeps/unix -I../nptl/sysdeps/unix/sysv/linux/mips/mips64
-I../nptl/sysdeps/unix/sysv/linux/mips -I../nptl/sysdeps/unix/sysv/linux
-I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../nptl/sysdeps/unix/sysv
-I../nptl/sysdeps/unix -I../nptl/sysdeps/mips -I../nptl/sysdeps/generic
-I../sysdeps/unix/sysv/linux/mips/mips64/n32
-I../sysdeps/unix/sysv/linux/mips/mips64 -I../sysdeps/unix/sysv/linux/mips
-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/mips/mips64/n32 -I../sysdeps/unix/mips/mips64
-I../sysdeps/unix/mips -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/mips/mips64/n32 -I../sysdeps/ieee754/ldbl-128
-I../sysdeps/mips/mips64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/mips -I../sysdeps/wordsize-32
-I../sysdeps/mips/fpu -I../sysdeps/ieee754 -I../sysdeps/generic/elf
-I../sysdeps/generic -nostdinc -isystem
/home/lfs-mips64/cross-tools/bin/../lib/gcc/mips64el-unknown-linux-gnu/4.0.1/include
-isystem /tools/include -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include
../include/libc-symbols.h -DPIC -o
/mnt/lfs-mips64/build/glibc-cross-n32/misc/ptrace.o -MD -MP -MF
/mnt/lfs-mips64/build/glibc-cross-n32/misc/ptrace.o.dt -MT
/mnt/lfs-mips64/build/glibc-cross-n32/misc/ptrace.o
../sysdeps/unix/sysv/linux/ptrace.c:31: error: conflicting types for 'ptrace'
../sysdeps/unix/sysv/linux/mips/sys/ptrace.h:129: error: previous declaration
of 'ptrace' was here
../sysdeps/unix/sysv/linux/ptrace.c: In function 'ptrace':
../sysdeps/unix/sysv/linux/ptrace.c:104: warning: cast from pointer to integer
of different size
../sysdeps/unix/sysv/linux/ptrace.c:104: warning: cast from pointer to integer
of different size
make[2]: *** [/mnt/lfs-mips64/build/glibc-cross-n32/misc/ptrace.o] Error 1
make[2]: Leaving directory `/mnt/lfs-mips64/build/glibc-20050919/misc'
make[1]: *** [misc/subdir_lib] Error 2
make[1]: Leaving directory `/mnt/lfs-mips64/build/glibc-20050919'
make: *** [all] Error 2
Line 127 - ptrace.h
#if _MIPS_SIM == _ABIN32
__extension__ extern long long int ptrace
(enum __ptrace_request __request, ...) __THROW;
#else
extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
#endif
Line 31 - ptrace.c
long int
ptrace (enum __ptrace_request request, ...)
{
long int res, ret;
--
----
Jim Gifford
maillist@jg555.com
|