hurd: Avoid some PLTs in libc and librt
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 2 Apr 2018 19:07:52 +0000 (19:07 +0000)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 2 Apr 2018 19:07:52 +0000 (19:07 +0000)
* hurd/hurdauth.c (_S_msg_add_auth): Call __vm_allocate and
__vm_deallocate instead of vm_allocate and vm_deallocate.
* hurd/hurdmsg.c (_S_msg_set_env_variable): Call __setenv instead of
setenv.
* hurd/hurdprio.c (_hurd_priority_which_map): Call __geteuid instead
of geteuid.
* hurd/path-lookup.c (file_name_path_scan): Call __strdup instead of
strdup.
* hurd/siginfo.c: Include <libioP.h>.
(_hurd_siginfo_handler): Call _IO_puts instead of puts.
* hurd/xattr.c (_hurd_xattr_get, _hurd_xattr_set): Call __munmap instead of
munmap.
* io/fts.c (fts_build): Call __dirfd instead of dirfd.
* mach/devstream.c: Include <libioP.h>.
(dealloc_ref): Call __mach_port_deallocate instead of
mach_port_deallocate.
(mach_open_devstream): Call _IO_fopencookie instead of fopencookie.
Call __mach_port_deallocate instead of mach_port_deallocate.
* stdlib/canonicalize.c (__realpath): Call __pathconf instead of
pathconf.
* sysdeps/mach/hurd/ifreq.c (__ifreq): Call __munmap instead of
munmap.
* sysdeps/mach/hurd/ifreq.h (__if_freereq): Likewise.
* sysdeps/mach/hurd/ptrace.c (ptrace): Call __kill instead of kill.
* sysdeps/mach/hurd/sendfile64.c (sendfile64): Call __munmap instead
of munmap.
* sysdeps/mach/hurd/socketpair.c (__socketpair): Call __close instead
of close.
* sysdeps/posix/clock_getres.c (realtime_getres): Call __sysconf
instead of sysconf.
* sysdeps/pthread/timer_gettime.c (timer_gettime): Call
__clock_gettime instead of clock_gettime.
* sysdeps/pthread/timer_routines.c (thread_func): Likewise.
* sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
* sysdeps/unix/bsd/gtty.c (gtty): Call __ioctl instead of ioctl.
* sysdeps/unix/bsd/stty.c (stty): Likewise.
* sysdeps/unix/bsd/tcflow.c (tcflow): Call __tcgetattr instead of
tcgetattr.
* sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
__clock_gettime and __nanosleep instead of clock_gettime and
nanosleep.

23 files changed:
ChangeLog
hurd/hurdauth.c
hurd/hurdmsg.c
hurd/hurdprio.c
hurd/path-lookup.c
hurd/siginfo.c
hurd/xattr.c
io/fts.c
mach/devstream.c
stdlib/canonicalize.c
sysdeps/mach/hurd/ifreq.c
sysdeps/mach/hurd/ifreq.h
sysdeps/mach/hurd/ptrace.c
sysdeps/mach/hurd/sendfile64.c
sysdeps/mach/hurd/socketpair.c
sysdeps/posix/clock_getres.c
sysdeps/pthread/timer_gettime.c
sysdeps/pthread/timer_routines.c
sysdeps/pthread/timer_settime.c
sysdeps/unix/bsd/gtty.c
sysdeps/unix/bsd/stty.c
sysdeps/unix/bsd/tcflow.c
sysdeps/unix/clock_nanosleep.c

index b3d009b..e63f987 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        (_init_routine): Call __pthread_attr_init and __pthread_attr_setstack
        instead of pthread_attr_init and pthread_attr_setstack.
 
+       * hurd/hurdauth.c (_S_msg_add_auth): Call __vm_allocate and
+       __vm_deallocate instead of vm_allocate and vm_deallocate.
+       * hurd/hurdmsg.c (_S_msg_set_env_variable): Call __setenv instead of
+       setenv.
+       * hurd/hurdprio.c (_hurd_priority_which_map): Call __geteuid instead
+       of geteuid.
+       * hurd/path-lookup.c (file_name_path_scan): Call __strdup instead of
+       strdup.
+       * hurd/siginfo.c: Include <libioP.h>.
+       (_hurd_siginfo_handler): Call _IO_puts instead of puts.
+       * hurd/xattr.c (_hurd_xattr_get, _hurd_xattr_set): Call __munmap instead of
+       munmap.
+       * io/fts.c (fts_build): Call __dirfd instead of dirfd.
+       * mach/devstream.c: Include <libioP.h>.
+       (dealloc_ref): Call __mach_port_deallocate instead of
+       mach_port_deallocate.
+       (mach_open_devstream): Call _IO_fopencookie instead of fopencookie.
+       Call __mach_port_deallocate instead of mach_port_deallocate.
+       * stdlib/canonicalize.c (__realpath): Call __pathconf instead of
+       pathconf.
+       * sysdeps/mach/hurd/ifreq.c (__ifreq): Call __munmap instead of
+       munmap.
+       * sysdeps/mach/hurd/ifreq.h (__if_freereq): Likewise.
+       * sysdeps/mach/hurd/ptrace.c (ptrace): Call __kill instead of kill.
+       * sysdeps/mach/hurd/sendfile64.c (sendfile64): Call __munmap instead
+       of munmap.
+       * sysdeps/mach/hurd/socketpair.c (__socketpair): Call __close instead
+       of close.
+       * sysdeps/posix/clock_getres.c (realtime_getres): Call __sysconf
+       instead of sysconf.
+       * sysdeps/pthread/timer_gettime.c (timer_gettime): Call
+       __clock_gettime instead of clock_gettime.
+       * sysdeps/pthread/timer_routines.c (thread_func): Likewise.
+       * sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
+       * sysdeps/unix/bsd/gtty.c (gtty): Call __ioctl instead of ioctl.
+       * sysdeps/unix/bsd/stty.c (stty): Likewise.
+       * sysdeps/unix/bsd/tcflow.c (tcflow): Call __tcgetattr instead of
+       tcgetattr.
+       * sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
+       __clock_gettime and __nanosleep instead of clock_gettime and
+       nanosleep.
+
 2018-04-02  Agustina Arzille  <avarzille@riseup.net>
             Amos Jeffries  <squid3@treenet.co.nz>
             David Michael  <fedora.dm0@gmail.com>
index ad315a2..1a7e67e 100644 (file)
@@ -52,8 +52,8 @@ _S_msg_add_auth (mach_port_t me,
       int i, j, k;
       vm_size_t offset;
 
-      urp = vm_allocate (mach_task_self (), (vm_address_t *) newlistp,
-                        nexist + nnew * sizeof (uid_t), 1);
+      urp = __vm_allocate (mach_task_self (), (vm_address_t *) newlistp,
+                          nexist + nnew * sizeof (uid_t), 1);
       if (urp)
        return urp;
 
@@ -75,10 +75,10 @@ _S_msg_add_auth (mach_port_t me,
       offset = (round_page (nexist + nnew * sizeof (uid_t))
                - round_page (j * sizeof (uid_t)));
       if (offset)
-       vm_deallocate (mach_task_self (),
-                      (vm_address_t) (*newlistp
-                                      + (nexist + nnew * sizeof (uid_t))),
-                      offset);
+       __vm_deallocate (mach_task_self (),
+                        (vm_address_t) (*newlistp
+                                        + (nexist + nnew * sizeof (uid_t))),
+                        offset);
       *newlistlen = j;
       return 0;
     }
@@ -136,8 +136,8 @@ _S_msg_add_auth (mach_port_t me,
 
 #define freeup(array, len) \
   if (array) \
-    vm_deallocate (mach_task_self (), (vm_address_t) array, \
-                  len * sizeof (uid_t));
+    __vm_deallocate (mach_task_self (), (vm_address_t) array, \
+                    len * sizeof (uid_t));
 
   freeup (genuids, ngenuids);
   freeup (auxuids, nauxuids);
index 5759af3..63e5e81 100644 (file)
@@ -344,7 +344,7 @@ _S_msg_set_env_variable (mach_port_t msgport, mach_port_t auth,
 {
   AUTHCHECK;
 
-  if (setenv (variable, value, replace)) /* XXX name space */
+  if (__setenv (variable, value, replace)) /* XXX name space */
     return errno;
   return 0;
 }
index 5ff84b6..3783fe9 100644 (file)
@@ -50,7 +50,7 @@ _hurd_priority_which_map (enum __priority_which which, int who,
 
     case PRIO_USER:
       if (who == 0)
-       who = geteuid ();
+       who = __geteuid ();
       err = __USEPORT (PROC, __proc_getallpids (port, &pids, &npids));
       for (i = 0; !err && i < npids; ++i)
        {
index d3906e1..389a8cc 100644 (file)
@@ -63,7 +63,7 @@ file_name_path_scan (const char *file_name, const char *path,
          if (err == 0)
            {
              if (prefixed_name)
-               *prefixed_name = strdup (pfxed_name);
+               *prefixed_name = __strdup (pfxed_name);
              return 0;
            }
          if (!real_err && err != ENOENT)
index 65d8e48..75e02d5 100644 (file)
 
 #include <hurd/signal.h>
 #include <stdio.h>
+#include <libioP.h>
 
 void
 _hurd_siginfo_handler (int signo)
 {
   /* XXX */
-  puts ("got a SIGINFO");
+  _IO_puts ("got a SIGINFO");
 }
index c56bab0..23d9fcb 100644 (file)
@@ -67,14 +67,14 @@ _hurd_xattr_get (io_t port, const char *name, void *value, size_t *size)
       if (value != NULL && *size < bufsz)
        {
          if (buf != value)
-           munmap (buf, bufsz);
+           __munmap (buf, bufsz);
          return -ERANGE;
        }
       if (buf != value && bufsz > 0)
        {
          if (value != NULL)
            memcpy (value, buf, bufsz);
-         munmap (buf, bufsz);
+         __munmap (buf, bufsz);
        }
       *size = bufsz;
       return 0;
@@ -150,7 +150,7 @@ _hurd_xattr_set (io_t port, const char *name, const void *value, size_t size,
            return err;
          if (bufsz > 0)
            {
-             munmap (buf, bufsz);
+             __munmap (buf, bufsz);
              return ENODATA;
            }
        }
index ad9d333..a30491c 100644 (file)
--- a/io/fts.c
+++ b/io/fts.c
@@ -680,7 +680,7 @@ fts_build (FTSOBJ *sp, int type)
         */
        cderrno = 0;
        if (nlinks || type == BREAD) {
-               if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) {
+               if (fts_safe_changedir(sp, cur, __dirfd(dirp), NULL)) {
                        if (nlinks && type == BREAD)
                                cur->fts_errno = errno;
                        cur->fts_flags |= FTS_DONTCHDIR;
index 21d9f7b..505b657 100644 (file)
@@ -22,6 +22,7 @@
 #include <device/device.h>
 #include <errno.h>
 #include <string.h>
+#include <libioP.h>
 
 
 static ssize_t
@@ -111,7 +112,7 @@ devstream_read (void *cookie, char *buffer, size_t to_read)
 static int
 dealloc_ref (void *cookie)
 {
-  if (mach_port_deallocate (mach_task_self (), (mach_port_t) cookie))
+  if (__mach_port_deallocate (mach_task_self (), (mach_port_t) cookie))
     {
       errno = EINVAL;
       return -1;
@@ -130,13 +131,13 @@ mach_open_devstream (mach_port_t dev, const char *mode)
       return NULL;
     }
 
-  stream = fopencookie ((void *) dev, mode,
-                       (cookie_io_functions_t) { write: devstream_write,
-                                                 read: devstream_read,
-                                                 close: dealloc_ref });
+  stream = _IO_fopencookie ((void *) dev, mode,
+                           (cookie_io_functions_t) { write: devstream_write,
+                                                     read: devstream_read,
+                                                     close: dealloc_ref });
   if (stream == NULL)
     {
-      mach_port_deallocate (mach_task_self (), dev);
+      __mach_port_deallocate (mach_task_self (), dev);
       return NULL;
     }
 
index 30825a9..4135f3f 100644 (file)
@@ -68,7 +68,7 @@ __realpath (const char *name, char *resolved)
 #ifdef PATH_MAX
   path_max = PATH_MAX;
 #else
-  path_max = pathconf (name, _PC_PATH_MAX);
+  path_max = __pathconf (name, _PC_PATH_MAX);
   if (path_max <= 0)
     path_max = 1024;
 #endif
index 1087782..70a906a 100644 (file)
@@ -53,7 +53,7 @@ __ifreq (struct ifreq **ifreqs, int *num_ifs, int sockfd)
 
       if (len % sizeof (struct ifreq) != 0)
        {
-         munmap (data, len);
+         __munmap (data, len);
          errno = EGRATUITOUS;
          goto out;
        }
index 3c20066..3ab8d85 100644 (file)
@@ -28,5 +28,5 @@
 static inline void
 __if_freereq (struct ifreq *ifreqs, int num_ifs)
 {
-  munmap (ifreqs, num_ifs * sizeof (struct ifreq));
+  __munmap (ifreqs, num_ifs * sizeof (struct ifreq));
 }
index ac3059b..d0268a3 100644 (file)
@@ -155,7 +155,7 @@ ptrace (enum __ptrace_request request, ... )
       va_end (ap);
       /* SIGKILL always just terminates the task,
         so normal kill is just the same when traced.  */
-      return kill (pid, SIGKILL);
+      return __kill (pid, SIGKILL);
 
     case PTRACE_SINGLESTEP:
       /* This is a machine-dependent kernel RPC on
index dfd9c45..f69ccd4 100644 (file)
@@ -47,7 +47,7 @@ sendfile64 (int out_fd, int in_fd, off64_t *offset, size_t count)
        return 0;
       err = HURD_DPORT_USE (out_fd, __io_write (port, data, datalen,
                                                (off_t) -1, &nwrote));
-      munmap (data, datalen);
+      __munmap (data, datalen);
       if (err == 0)
        {
          if (offset)
index 85e0f74..3b18c67 100644 (file)
@@ -82,7 +82,7 @@ __socketpair (int domain, int type, int protocol, int fds[2])
   if (d2 < 0)
     {
       err = errno;
-      (void) close (d1);
+      (void) __close (d1);
       return __hurd_fail (err);
     }
 
index 8bc7e81..e7924e0 100644 (file)
@@ -58,7 +58,7 @@ hp_timing_getres (struct timespec *res)
 static inline int
 realtime_getres (struct timespec *res)
 {
-  long int clk_tck = sysconf (_SC_CLK_TCK);
+  long int clk_tck = __sysconf (_SC_CLK_TCK);
 
   if (__glibc_likely (clk_tck != -1))
     {
index ef3019f..f5f060a 100644 (file)
@@ -50,7 +50,7 @@ timer_gettime (timer_t timerid, struct itimerspec *value)
     {
       if (armed)
        {
-         clock_gettime (clock, &now);
+         __clock_gettime (clock, &now);
          if (timespec_compare (&now, &expiry) < 0)
            timespec_sub (&value->it_value, &expiry, &now);
          else
index 25ccfad..c122467 100644 (file)
@@ -376,7 +376,7 @@ thread_func (void *arg)
 
          /* This assumes that the elements of the list of one thread
             are all for the same clock.  */
-         clock_gettime (timer->clock, &now);
+         __clock_gettime (timer->clock, &now);
 
          while (1)
            {
index 5c541ac..8a71a50 100644 (file)
@@ -55,7 +55,7 @@ timer_settime (timer_t timerid, int flags, const struct itimerspec *value,
 
   if ((flags & TIMER_ABSTIME) == 0)
     {
-      clock_gettime (timer->clock, &now);
+      __clock_gettime (timer->clock, &now);
       have_now = 1;
     }
 
@@ -80,7 +80,7 @@ timer_settime (timer_t timerid, int flags, const struct itimerspec *value,
          if (! have_now)
            {
              pthread_mutex_unlock (&__timer_mutex);
-             clock_gettime (timer->clock, &now);
+             __clock_gettime (timer->clock, &now);
              have_now = 1;
              pthread_mutex_lock (&__timer_mutex);
              timer_addref (timer);
index 830de6d..77e2a72 100644 (file)
@@ -22,5 +22,5 @@
 int
 gtty (int fd, struct sgttyb *params)
 {
-  return ioctl (fd, TIOCGETP, (void *) params);
+  return __ioctl (fd, TIOCGETP, (void *) params);
 }
index c89ab00..8a0bbde 100644 (file)
@@ -22,5 +22,5 @@
 int
 stty (int fd, const struct sgttyb *params)
 {
-  return ioctl (fd, TIOCSETP, (void *) params);
+  return __ioctl (fd, TIOCSETP, (void *) params);
 }
index 7998e0c..3eb5f61 100644 (file)
@@ -40,7 +40,7 @@ tcflow (int fd, int action)
           `write'.  Is there another way to do this?  */
        struct termios attr;
        unsigned char c;
-       if (tcgetattr (fd, &attr) < 0)
+       if (__tcgetattr (fd, &attr) < 0)
          return -1;
        c = attr.c_cc[action == TCIOFF ? VSTOP : VSTART];
        if (c != _POSIX_VDISABLE && write (fd, &c, 1) < 1)
index 491ce02..97b3d6b 100644 (file)
@@ -71,7 +71,7 @@ __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
       assert (sizeof (sec) >= sizeof (now.tv_sec));
 
       /* Get the current time for this clock.  */
-      if (__builtin_expect (clock_gettime (clock_id, &now), 0) != 0)
+      if (__builtin_expect (__clock_gettime (clock_id, &now), 0) != 0)
        return errno;
 
       /* Compute the difference.  */
@@ -96,6 +96,6 @@ __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
     /* Not supported.  */
     return ENOTSUP;
 
-  return __builtin_expect (nanosleep (req, rem), 0) ? errno : 0;
+  return __builtin_expect (__nanosleep (req, rem), 0) ? errno : 0;
 }
 weak_alias (__clock_nanosleep, clock_nanosleep)