This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] INTERNAL_SYSCALL_NCS for SH


> BTW, SH port has a few problems with setXid changes.  I'll report
> them in the next mail.

SH uses the old-fashioned 16-bit id's.  It causes a few problems with
setXid changes.  The first problem is that seteuid.c and setegid.c may
call __setre*[ug]id and causes undefined references.  It seems pthread
cases should use pthread_setre*[ug]id_np instead of __setre*[ug]id.

The second one is that the variable __libc_missing_32bit_uids is defined
in getuid.c but we don't have pthread_getuid.  I've added an SH specific
pthread_getuid as a workaround.  I'd like to append a patch I'm using
for comments.

Regards,
	kaz
--
[nptl/ChangeLog]
2004-09-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* pthread_setegid.c (__setregid): Set to the pthread version.
	(__setresgid): Likewise.
	* pthread_seteuid.c (__setreuid, __setresuid): Likewise.
	* sysdeps/unix/sysv/linux/sh/Makefile: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_getuid.c: New file.

diff -u3prN ORIG/libc/nptl/pthread_setegid.c LOCAL/libc/nptl/pthread_setegid.c
--- ORIG/libc/nptl/pthread_setegid.c	Mon Sep 20 09:05:06 2004
+++ LOCAL/libc/nptl/pthread_setegid.c	Mon Sep 20 13:23:00 2004
@@ -1,3 +1,5 @@
 #define SINGLE_THREAD
 #define setegid pthread_setegid_np
+#define __setregid pthread_setregid_np
+#define __setresgid pthread_setresgid_np
 #include <setegid.c>
diff -u3prN ORIG/libc/nptl/pthread_seteuid.c LOCAL/libc/nptl/pthread_seteuid.c
--- ORIG/libc/nptl/pthread_seteuid.c	Mon Sep 20 09:05:38 2004
+++ LOCAL/libc/nptl/pthread_seteuid.c	Thu Sep 23 17:04:43 2004
@@ -1,3 +1,5 @@
 #define SINGLE_THREAD
 #define seteuid pthread_seteuid_np
+#define __setreuid pthread_setreuid_np
+#define __setresuid pthread_setresuid_np
 #include <seteuid.c>
diff -u3prN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/Makefile LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/Makefile
--- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/Makefile	Thu Jan  1 09:00:00 1970
+++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/Makefile	Thu Sep 23 21:31:04 2004
@@ -0,0 +1,2 @@
+# to get __libc_missing_32bit_uids
+libpthread-routines += pthread_getuid
diff -u3prN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_getuid.c LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_getuid.c
--- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_getuid.c	Thu Jan  1 09:00:00 1970
+++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_getuid.c	Thu Sep 23 21:32:14 2004
@@ -0,0 +1,3 @@
+#define SINGLE_THREAD
+#define __getuid pthread_getuid_np
+#include <getuid.c>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]