This is the mail archive of the
libc-alpha@cygnus.com
mailing list for the glibc project.
Re: glibc-2.0.99 build problems
- To: Jack Howarth <howarth@bromo.med.uc.edu>
- Subject: Re: glibc-2.0.99 build problems
- From: Matt McLean <keys@yikes.com>
- Date: Sat, 24 Oct 1998 08:51:27 -0700 (PDT)
- cc: libc-alpha@cygnus.com
On Sat, 24 Oct 1998, Jack Howarth wrote:
> Sorry, the exact error was...
>
> make[2]: Entering directory `/usr/src/redhat/BUILD/glibc-2.0.99/db2'
> gcc -nostdlib -nostartfiles -o /usr/src/redhat/BUILD/glibc-2.0.99/build/db2/makedb -Wl,-dynamic-linker=/lib/ld.so.1 /usr/src/redhat/BUILD/glibc-2.0.99/build/csu/crt1.o /usr/src/redhat/BUILD/glibc-2.0.99/build/csu/crti.o `gcc --print-file-name=crtbegin.o` /usr/src/redhat/BUILD/glibc-2.0.99/build/db2/makedb.o /usr/src/redhat/BUILD/glibc-2.0.99/build/db2/libdb.so.3 -Wl,-rpath-link=/usr/src/redhat/BUILD/glibc-2.0.99/build:/usr/src/redhat/BUILD/glibc-2.0.99/build/math:/usr/src/redhat/BUILD/glibc-2.0.99/build/elf:/usr/src/redhat/BUILD/glibc-2.0.99/build/nss:/usr/src/redhat/BUILD/glibc-2.0.99/build/nis:/usr/src/redhat/BUILD/glibc-2.0.99/build/db2:/usr/src/redhat/BUILD/glibc-2.0.99/build/rt:/usr/src/redhat/BUILD/glibc-2.0.99/build/resolv:/usr/src/redhat/BUILD/glibc-2.0.99/build/linuxthreads /usr/src/redhat/BUILD/glibc-2.0.99/build/libc.so.6 /usr/src/redhat/BUILD/glibc-2.0.99/build/libc_nonshared.a -lgcc `gcc --print-file-name=crtend.o` /usr/src/redhat/BUILD/glibc-2.0.99/build/csu!
/c!
> rtn.o
> /usr/src/redhat/BUILD/glibc-2.0.99/build/libc.so.6: undefined reference to `__syscall_pread'
> /usr/src/redhat/BUILD/glibc-2.0.99/build/libc.so.6: undefined reference to `__syscall_pwrite'
> collect2: ld returned 1 exit status
> make[2]: *** [/usr/src/redhat/BUILD/glibc-2.0.99/build/db2/makedb] Error 1
> make[2]: Leaving directory `/usr/src/redhat/BUILD/glibc-2.0.99/db2'
> make[1]: *** [db2/others] Error 2
>
> Again this is under glibc 2.0.98 using egcs 1.1b on Linux 2.1.125 on a
> PowerMac G3/266.
> Jack
Try this patch, I think the part that fixes this is where the extra
pread/write get removed in the syscalls list. The other pread/write entry
has already been fixed for this.
m.
1998-10-23 Matt McLean <keys@yikes.com>
* sysdeps/unix/sysv/linux/powerpc/setgid.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setresgid.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setresuid.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setuid.c: New file.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_setgid,
s_setresgid, s_setresuid, and s_setuid. Remove extraneous pread64
and pwrite64.
* sysdeps/unix/sysv/linux/powerpc/Dist: Add setresuid.c, setresgid.c,
setfsuid.c, and setfsgid.c.
* sysdeps/unix/sysv/linux/powerpc/Makefile: Add rules for these.
Index: sysdeps/unix/sysv/linux/powerpc/Makefile
===================================================================
RCS file: /glibc/cvsfiles/libc/sysdeps/unix/sysv/linux/powerpc/Makefile,v
retrieving revision 1.1
diff -u -u -r1.1 Makefile
--- libc/sysdeps/unix/sysv/linux/powerpc/Makefile 1998/10/21 15:39:49 1.1
+++ libc/sysdeps/unix/sysv/linux/powerpc/Makefile 1998/10/23 20:51:06
@@ -1,3 +1,7 @@
+ifeq ($(subdir),misc)
+sysdep_routines += setfsgid setfsuid setresgid setresuid
+endif
+
ifeq ($(subdir),signal)
sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait \
rt_sigqueueinfo rt_sigaction rt_sigpending
Index: sysdeps/unix/sysv/linux/powerpc/syscalls.list
===================================================================
RCS file: /glibc/cvsfiles/libc/sysdeps/unix/sysv/linux/powerpc/syscalls.list,v
retrieving revision 1.8
diff -u -u -r1.8 syscalls.list
--- libc/sysdeps/unix/sysv/linux/powerpc/syscalls.list 1998/10/22 14:38:02 1.8
+++ libc/sysdeps/unix/sysv/linux/powerpc/syscalls.list 1998/10/23 20:51:06
@@ -1,10 +1,16 @@
# File name Caller Syscall name # args Strong name Weak names
+s_chown chown chown 3 __syscall_chown
+s_getgroups getgroups getgroups 2 __syscall_getgroups
s_ioctl ioctl ioctl 3 __syscall_ioctl
s_llseek llseek _llseek 5 __sys_llseek
-s_chown chown chown 3 __syscall_chown
-s_pread64 pread64 pread 4 __syscall_pread64
-s_pwrite64 pwrite64 pwrite 4 __syscall_pwrite64
+s_setfsgid setfsgid setfsgid 1 __syscall_setfsgid
+s_setfsuid setfsuid setfsuid 1 __syscall_setfsuid
+s_setgid setgid setgid 1 __syscall_setgid
+s_setgroups setgroups setgroups 2 __syscall_setgroups
+s_setresgid setresgid setresgid 3 __syscall_setresgid
+s_setresuid setresuid setresuid 3 __syscall_setresuid
+s_setuid setuid setuid 1 __syscall_setuid
# System calls with wrappers.
rt_sigaction - rt_sigaction 4 __syscall_rt_sigaction
--- /dev/null Tue May 5 15:32:27 1998
+++ libc/sysdeps/unix/sysv/linux/powerpc/getgroups.c Thu Oct 22 21:24:55 1998
@@ -0,0 +1,2 @@
+/* We also have to rewrite the kernel gid_t to the user land type. */
+#include <sysdeps/unix/sysv/linux/i386/getgroups.c>
--- /dev/null Tue May 5 15:32:27 1998
+++ libc/sysdeps/unix/sysv/linux/powerpc/setresgid.c Thu Oct 22 21:25:32 1998
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/setresgid.c>
--- /dev/null Tue May 5 15:32:27 1998
+++ libc/sysdeps/unix/sysv/linux/powerpc/setresuid.c Thu Oct 22 21:25:32 1998
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/setresuid.c>
--- /dev/null Tue May 5 15:32:27 1998
+++ libc/sysdeps/unix/sysv/linux/powerpc/setfsgid.c Thu Oct 22 23:56:53 1998
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/setfsgid.c>
--- /dev/null Tue May 5 15:32:27 1998
+++ libc/sysdeps/unix/sysv/linux/powerpc/setfsuid.c Thu Oct 22 23:56:53 1998
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/i386/setfsuid.c>
Index: sysdeps/unix/sysv/linux/powerpc/Dist
===================================================================
RCS file: /glibc/cvsfiles/libc/sysdeps/unix/sysv/linux/powerpc/Dist,v
retrieving revision 1.8
diff -u -r1.8 Dist
--- libc/sysdeps/unix/sysv/linux/powerpc/Dist 1998/09/23 16:37:16 1.8
+++ libc/sysdeps/unix/sysv/linux/powerpc/Dist 1998/10/23 22:18:40
@@ -2,3 +2,7 @@
kernel_stat.h
kernel_termios.h
init-first.h
+setresuid.c
+setresgid.c
+setfsuid.c
+setfsgid.c