This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: __xmknod on mips
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Khem Raj wrote:
> Joseph S. Myers wrote:
>> On Thu, 3 Apr 2008, Khem Raj wrote:
>
>>> MIPS port currently has its own version of __xmknod() in
>>> sysdeps/unix/sysv/linux/mips/xmknod.c
>>> which limits the major and minor device number to 255 still. Unless mips
>>> kernel does not allow larger major and minor number, we can use the
>>> common implementation of __xmknod () for mips.
>> I noticed this issue a while back and couldn't find any reason for the
>> MIPS-specific implementation. What's needed is for someone to test (on
>> all three ABIs) a patch to remove it.
I have tested this patch on N32. There are no new regressions in glibc tests with this patch.
- -Khem
ChangeLog.mips32
2008-04-10 Khem Raj <kraj@mvista.com>
* sysdeps/unix/sysv/linux/mips/xmknod.c: Delete file.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFH/sF3UjbQJxVzeZQRAmA+AJ9wOMxB+g1Ad1eFfSHkJKBhdxwivwCfTWLx
7Z4yqtJ/ulgyqYzOArbWA7k=
=Ms8p
-----END PGP SIGNATURE-----
Index: sysdeps/unix/sysv/linux/mips/xmknod.c
===================================================================
--- sysdeps/unix/sysv/linux/mips/xmknod.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* xmknod call using old-style Unix mknod system call.
- Copyright (C) 1991, 1993, 1995, 1996, 1997, 1998, 2000, 2002, 2003
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/sysmacros.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <bp-checks.h>
-
-/* Create a device file named PATH, with permission and special bits MODE
- and device number DEV (which can be constructed from major and minor
- device numbers with the `makedev' macro above). */
-int
-__xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
-{
- unsigned long k_dev;
-
- if (vers != _MKNOD_VER)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- /* We must convert the value to dev_t type used by the kernel. */
- k_dev = ((major (*dev) & 0xff) << 8) | (minor (*dev) & 0xff);
-
- return INLINE_SYSCALL (mknod, 3, CHECK_STRING (path), mode, k_dev);
-}
-
-weak_alias (__xmknod, _xmknod)
-libc_hidden_def (__xmknod)