This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


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

GNU C Library master sources branch master updated. glibc-2.26.9000-1199-g28f6186


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  28f6186f3e065ee9d46476e8e9f06135482ae17b (commit)
      from  3fc1ecf93549acd5bea1e84d93862ee556b3a5a8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=28f6186f3e065ee9d46476e8e9f06135482ae17b

commit 28f6186f3e065ee9d46476e8e9f06135482ae17b
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Jan 28 18:43:10 2018 +0100

    hurd: take __USE_EXTERN_INLINES into account and restrict inlines
    
    * hurd/hurd.h (__hurd_fail): Always declare function, and provide inline
    version only if __USE_EXTERN_INLINES is defined.
    * hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail,
    __hurd_sockfail): Likewise.
    (_hurd_fd_get): Always declare functions, and provide inline versions
    only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc).
    * hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get,
    _hurd_port_get, _hurd_port_free, _hurd_port_locked_set,
    _hurd_port_set): Always declare functions, and provide inline versions
    only if __USE_EXTERN_INLINES and _LIBC are defined and
    IS_IN(libc).
    * hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock,
    _hurd_critical_section_unlock): Likewise.
    * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp,
    * __hurd_threadvar_location): Likewise.
    * hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink,
    _hurd_userlink_clear): Likewise.
    * mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock,
    __mutex_unlock, __mutex_trylock): Always declare functions, and provide
    inline versions only if __USE_EXTERN_INLINES and _LIBC are defined.
    * mach/mach/mig_support.h (__mig_strncpy): Likewise.
    * sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock,
    __spin_lock_locked): Likewise.
    * sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock,
    __spin_lock_locked): Likewise.
    * mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1.
    * hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal,
    _hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set,
    __hurd_threadvar_location_from_sp, __hurd_threadvar_location,
    _hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear.

diff --git a/ChangeLog b/ChangeLog
index 961262d..ae834cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -60,6 +60,36 @@
 	_POSIX_CHOWN_RESTRICTED is defined to 0.
 	* io/tst-copy_file_range.c [!defined CLONE_NEWNS]: Do not include
 	<sys/mount.h>.
+	* hurd/hurd.h (__hurd_fail): Always declare function, and provide inline
+	version only if __USE_EXTERN_INLINES is defined.
+	* hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail,
+	__hurd_sockfail): Likewise.
+	(_hurd_fd_get): Always declare functions, and provide inline versions
+	only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc).
+	* hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get,
+	_hurd_port_get, _hurd_port_free, _hurd_port_locked_set,
+	_hurd_port_set): Always declare functions, and provide inline versions
+	only if __USE_EXTERN_INLINES and _LIBC are defined and
+	IS_IN(libc).
+	* hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock,
+	_hurd_critical_section_unlock): Likewise.
+	* hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp,
+	* __hurd_threadvar_location): Likewise.
+	* hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink,
+	_hurd_userlink_clear): Likewise.
+	* mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock,
+	__mutex_unlock, __mutex_trylock): Always declare functions, and provide
+	inline versions only if __USE_EXTERN_INLINES and _LIBC are defined.
+	* mach/mach/mig_support.h (__mig_strncpy): Likewise.
+	* sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock,
+	__spin_lock_locked): Likewise.
+	* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock,
+	__spin_lock_locked): Likewise.
+	* mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1.
+	* hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal,
+	_hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set,
+	__hurd_threadvar_location_from_sp, __hurd_threadvar_location,
+	_hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear.
 
 2008-12-18  Thomas Schwinge  <tschwinge@gnu.org>
 
diff --git a/hurd/Versions b/hurd/Versions
index b059405..363e246 100644
--- a/hurd/Versions
+++ b/hurd/Versions
@@ -130,6 +130,14 @@ libc {
     __errno_location;
   }
   GLIBC_2.27 {
+    # These always existed as inlines but the real functions were not exported.
+    _hurd_fd_error_signal; _hurd_fd_error;
+    __hurd_dfail; __hurd_sockfail;
+    _hurd_port_locked_set;
+    __hurd_threadvar_location_from_sp;
+    __hurd_threadvar_location;
+    _hurd_userlink_link; _hurd_userlink_unlink; _hurd_userlink_clear;
+
     # "quasi-internal" functions
     _hurd_exec_paths;
   }
diff --git a/hurd/hurd.h b/hurd/hurd.h
index 7cf23b5..a0e2444 100644
--- a/hurd/hurd.h
+++ b/hurd/hurd.h
@@ -46,6 +46,9 @@
 #define _HURD_H_EXTERN_INLINE __extern_inline
 #endif
 
+extern int __hurd_fail (error_t err);
+
+#ifdef __USE_EXTERN_INLINES
 _HURD_H_EXTERN_INLINE int
 __hurd_fail (error_t err)
 {
@@ -75,6 +78,7 @@ __hurd_fail (error_t err)
   errno = err;
   return -1;
 }
+#endif
 
 /* Basic ports and info, initialized by startup.  */
 
diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h
index 809a73f..9500a1b 100644
--- a/hurd/hurd/fd.h
+++ b/hurd/hurd/fd.h
@@ -59,6 +59,10 @@ extern struct mutex _hurd_dtable_lock; /* Locks those two variables.  */
    NULL.  The cell is unlocked; when ready to use it, lock it and check for
    it being unused.  */
 
+extern struct hurd_fd *_hurd_fd_get (int fd);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_FD_H_EXTERN_INLINE struct hurd_fd *
 _hurd_fd_get (int fd)
 {
@@ -91,6 +95,8 @@ _hurd_fd_get (int fd)
 
   return descriptor;
 }
+#  endif
+#endif
 
 
 /* Evaluate EXPR with the variable `descriptor' bound to a pointer to the
@@ -138,6 +144,9 @@ _hurd_fd_get (int fd)
 /* Check if ERR should generate a signal.
    Returns the signal to take, or zero if none.  */
 
+extern int _hurd_fd_error_signal (error_t err);
+
+#ifdef __USE_EXTERN_INLINES
 _HURD_FD_H_EXTERN_INLINE int
 _hurd_fd_error_signal (error_t err)
 {
@@ -154,11 +163,15 @@ _hurd_fd_error_signal (error_t err)
       return 0;
     }
 }
+#endif
 
 /* Handle an error from an RPC on a file descriptor's port.  You should
    always use this function to handle errors from RPCs made on file
    descriptor ports.  Some errors are translated into signals.  */
 
+extern error_t _hurd_fd_error (int fd, error_t err);
+
+#ifdef __USE_EXTERN_INLINES
 _HURD_FD_H_EXTERN_INLINE error_t
 _hurd_fd_error (int fd, error_t err)
 {
@@ -171,20 +184,28 @@ _hurd_fd_error (int fd, error_t err)
     }
   return err;
 }
+#endif
 
 /* Handle error code ERR from an RPC on file descriptor FD's port.
    Set `errno' to the appropriate error code, and always return -1.  */
 
+extern int __hurd_dfail (int fd, error_t err);
+
+#ifdef __USE_EXTERN_INLINES
 _HURD_FD_H_EXTERN_INLINE int
 __hurd_dfail (int fd, error_t err)
 {
   errno = _hurd_fd_error (fd, err);
   return -1;
 }
+#endif
 
 /* Likewise, but do not raise SIGPIPE on EPIPE if flags contain
    MSG_NOSIGNAL.  */
 
+exern int __hurd_sockfail (int fd, int flags, error_t err);
+
+#ifdef __USE_EXTERN_INLINES
 _HURD_FD_H_EXTERN_INLINE int
 __hurd_sockfail (int fd, int flags, error_t err)
 {
@@ -193,6 +214,7 @@ __hurd_sockfail (int fd, int flags, error_t err)
   errno = err;
   return -1;
 }
+#endif
 
 /* Set up *FD to have PORT its server port, doing appropriate ctty magic.
    Does no locking or unlocking.  */
@@ -258,6 +280,8 @@ extern int _hurd_select (int nfds, struct pollfd *pollfds,
 /* Apply AT_FLAGS on FLAGS, in preparation for calling
    __hurd_file_name_lookup.  */
 
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_FD_H_EXTERN_INLINE error_t
 __hurd_at_flags (int *at_flags, int *flags)
 {
@@ -274,6 +298,8 @@ __hurd_at_flags (int *at_flags, int *flags)
 
   return 0;
 }
+#  endif
+#endif
 
 /* Variant of file_name_lookup used in *at function implementations.
    AT_FLAGS may only contain AT_SYMLINK_FOLLOW or AT_SYMLINK_NOFOLLOW,
diff --git a/hurd/hurd/port.h b/hurd/hurd/port.h
index 78053e6..f1da869 100644
--- a/hurd/hurd/port.h
+++ b/hurd/hurd/port.h
@@ -60,6 +60,10 @@ struct hurd_port
 
 /* Initialize *PORT to INIT.  */
 
+extern void _hurd_port_init (struct hurd_port *port, mach_port_t init);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_PORT_H_EXTERN_INLINE void
 _hurd_port_init (struct hurd_port *port, mach_port_t init)
 {
@@ -67,6 +71,8 @@ _hurd_port_init (struct hurd_port *port, mach_port_t init)
   port->users = NULL;
   port->port = init;
 }
+#  endif
+#endif
 
 
 /* Cleanup function for non-local exits.  */
@@ -75,6 +81,12 @@ extern void _hurd_port_cleanup (void *, jmp_buf, int);
 /* Get a reference to *PORT, which is locked.
    Pass return value and LINK to _hurd_port_free when done.  */
 
+extern mach_port_t
+_hurd_port_locked_get (struct hurd_port *port,
+		       struct hurd_userlink *link);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_PORT_H_EXTERN_INLINE mach_port_t
 _hurd_port_locked_get (struct hurd_port *port,
 		       struct hurd_userlink *link)
@@ -90,9 +102,17 @@ _hurd_port_locked_get (struct hurd_port *port,
   __spin_unlock (&port->lock);
   return result;
 }
+#  endif
+#endif
 
 /* Same, but locks PORT first.  */
 
+extern mach_port_t
+_hurd_port_get (struct hurd_port *port,
+		struct hurd_userlink *link);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_PORT_H_EXTERN_INLINE mach_port_t
 _hurd_port_get (struct hurd_port *port,
 		struct hurd_userlink *link)
@@ -104,10 +124,19 @@ _hurd_port_get (struct hurd_port *port,
   HURD_CRITICAL_END;
   return result;
 }
+#  endif
+#endif
 
 
 /* Free a reference gotten with `USED_PORT = _hurd_port_get (PORT, LINK);' */
 
+extern void
+_hurd_port_free (struct hurd_port *port,
+		 struct hurd_userlink *link,
+		 mach_port_t used_port);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_PORT_H_EXTERN_INLINE void
 _hurd_port_free (struct hurd_port *port,
 		 struct hurd_userlink *link,
@@ -127,11 +156,17 @@ _hurd_port_free (struct hurd_port *port,
   if (dealloc)
     __mach_port_deallocate (__mach_task_self (), used_port);
 }
+#  endif
+#endif
 
 
 /* Set *PORT's port to NEWPORT.  NEWPORT's reference is consumed by PORT->port.
    PORT->lock is locked.  */
 
+extern void _hurd_port_locked_set (struct hurd_port *port, mach_port_t newport);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_PORT_H_EXTERN_INLINE void
 _hurd_port_locked_set (struct hurd_port *port, mach_port_t newport)
 {
@@ -142,9 +177,15 @@ _hurd_port_locked_set (struct hurd_port *port, mach_port_t newport)
   if (old != MACH_PORT_NULL)
     __mach_port_deallocate (__mach_task_self (), old);
 }
+#  endif
+#endif
 
 /* Same, but locks PORT first.  */
 
+extern void _hurd_port_set (struct hurd_port *port, mach_port_t newport);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_PORT_H_EXTERN_INLINE void
 _hurd_port_set (struct hurd_port *port, mach_port_t newport)
 {
@@ -153,6 +194,8 @@ _hurd_port_set (struct hurd_port *port, mach_port_t newport)
   _hurd_port_locked_set (port, newport);
   HURD_CRITICAL_END;
 }
+#  endif
+#endif
 
 
 #endif	/* hurd/port.h */
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index 971a0e3..1d9c7d8 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -129,6 +129,8 @@ extern struct hurd_sigstate *_hurd_self_sigstate (void)
 #define _HURD_SIGNAL_H_EXTERN_INLINE __extern_inline
 #endif
 
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_SIGNAL_H_EXTERN_INLINE struct hurd_sigstate *
 _hurd_self_sigstate (void)
 {
@@ -138,6 +140,8 @@ _hurd_self_sigstate (void)
     *location = _hurd_thread_sigstate (__mach_thread_self ());
   return *location;
 }
+#  endif
+#endif
 
 /* Thread listening on our message port; also called the "signal thread".  */
 
@@ -164,6 +168,10 @@ extern int _hurd_core_limit;
    interrupted lest the signal handler try to take the same lock and
    deadlock result.  */
 
+extern void *_hurd_critical_section_lock (void);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_SIGNAL_H_EXTERN_INLINE void *
 _hurd_critical_section_lock (void)
 {
@@ -188,7 +196,13 @@ _hurd_critical_section_lock (void)
      _hurd_critical_section_unlock to unlock it.  */
   return ss;
 }
+#  endif
+#endif
 
+extern void _hurd_critical_section_unlock (void *our_lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_SIGNAL_H_EXTERN_INLINE void
 _hurd_critical_section_unlock (void *our_lock)
 {
@@ -211,6 +225,8 @@ _hurd_critical_section_unlock (void *our_lock)
 	__msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
     }
 }
+#  endif
+#endif
 
 /* Convenient macros for simple uses of critical sections.
    These two must be used as a pair at the same C scoping level.  */
diff --git a/hurd/hurd/threadvar.h b/hurd/hurd/threadvar.h
index 1727dac..b5fc29d 100644
--- a/hurd/hurd/threadvar.h
+++ b/hurd/hurd/threadvar.h
@@ -81,6 +81,9 @@ enum __hurd_threadvar_index
 
 extern unsigned long int *__hurd_threadvar_location_from_sp
   (enum __hurd_threadvar_index __index, void *__sp);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_THREADVAR_H_EXTERN_INLINE unsigned long int *
 __hurd_threadvar_location_from_sp (enum __hurd_threadvar_index __index,
 				   void *__sp)
@@ -92,6 +95,8 @@ __hurd_threadvar_location_from_sp (enum __hurd_threadvar_index __index,
 	   : (unsigned long int *) ((__stack & __hurd_threadvar_stack_mask) +
 				    __hurd_threadvar_stack_offset))[__index];
 }
+#  endif
+#endif
 
 #include <machine-sp.h>		/* Define __thread_stack_pointer.  */
 
@@ -105,12 +110,16 @@ __hurd_threadvar_location (enum __hurd_threadvar_index __index) __THROW
 	the same stack frame by different threads.  */
      __attribute__ ((__const__));
 
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_THREADVAR_H_EXTERN_INLINE unsigned long int *
 __hurd_threadvar_location (enum __hurd_threadvar_index __index)
 {
   return __hurd_threadvar_location_from_sp (__index,
 					    __thread_stack_pointer ());
 }
+#  endif
+#endif
 
 
 #endif	/* hurd/threadvar.h */
diff --git a/hurd/hurd/userlink.h b/hurd/hurd/userlink.h
index 6acfaa8..66c0406 100644
--- a/hurd/hurd/userlink.h
+++ b/hurd/hurd/userlink.h
@@ -76,6 +76,12 @@ struct hurd_userlink
 
 /* Attach LINK to the chain of users at *CHAINP.  */
 
+extern void
+_hurd_userlink_link (struct hurd_userlink **chainp,
+		     struct hurd_userlink *link);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_USERLINK_H_EXTERN_INLINE void
 _hurd_userlink_link (struct hurd_userlink **chainp,
 		     struct hurd_userlink *link)
@@ -96,11 +102,17 @@ _hurd_userlink_link (struct hurd_userlink **chainp,
   link->thread.prevp = thread_chainp;
   *thread_chainp = link;
 }
+#  endif
+#endif
 
 
 /* Detach LINK from its chain.  Returns nonzero iff this was the
    last user of the resource and it should be deallocated.  */
 
+extern int _hurd_userlink_unlink (struct hurd_userlink *link);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_USERLINK_H_EXTERN_INLINE int
 _hurd_userlink_unlink (struct hurd_userlink *link)
 {
@@ -123,6 +135,8 @@ _hurd_userlink_unlink (struct hurd_userlink *link)
 
   return dealloc;
 }
+#  endif
+#endif
 
 
 /* Clear all users from *CHAINP.  Call this when the resource *CHAINP
@@ -131,6 +145,10 @@ _hurd_userlink_unlink (struct hurd_userlink *link)
    value is zero, someone is still using the resource and they will
    deallocate it when they are finished.  */
 
+extern int _hurd_userlink_clear (struct hurd_userlink **chainp);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
+#  if IS_IN (libc)
 _HURD_USERLINK_H_EXTERN_INLINE int
 _hurd_userlink_clear (struct hurd_userlink **chainp)
 {
@@ -143,5 +161,7 @@ _hurd_userlink_clear (struct hurd_userlink **chainp)
   *chainp = NULL;
   return 0;
 }
+#  endif
+#endif
 
 #endif	/* hurd/userlink.h */
diff --git a/mach/lock-intern.h b/mach/lock-intern.h
index af28c3f..f8874c7 100644
--- a/mach/lock-intern.h
+++ b/mach/lock-intern.h
@@ -28,11 +28,15 @@
 
 /* Initialize LOCK.  */
 
+extern void __spin_lock_init (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE void
 __spin_lock_init (__spin_lock_t *__lock)
 {
   *__lock = __SPIN_LOCK_INITIALIZER;
 }
+#endif
 
 
 /* Lock LOCK, blocking if we can't get it.  */
@@ -40,12 +44,16 @@ extern void __spin_lock_solid (__spin_lock_t *__lock);
 
 /* Lock the spin lock LOCK.  */
 
+extern void __spin_lock (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE void
 __spin_lock (__spin_lock_t *__lock)
 {
   if (! __spin_try_lock (__lock))
     __spin_lock_solid (__lock);
 }
+#endif
 
 /* Name space-clean internal interface to mutex locks.
 
@@ -70,27 +78,39 @@ extern void __mutex_unlock_solid (void *__lock);
 
 /* Lock the mutex lock LOCK.  */
 
+extern void __mutex_lock (void *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE void
 __mutex_lock (void *__lock)
 {
   if (! __spin_try_lock ((__spin_lock_t *) __lock))
     __mutex_lock_solid (__lock);
 }
+#endif
 
 /* Unlock the mutex lock LOCK.  */
 
+extern void __mutex_unlock (void *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE void
 __mutex_unlock (void *__lock)
 {
   __spin_unlock ((__spin_lock_t *) __lock);
   __mutex_unlock_solid (__lock);
 }
+#endif
 
 
+extern int __mutex_trylock (void *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE int
 __mutex_trylock (void *__lock)
 {
   return __spin_try_lock ((__spin_lock_t *) __lock);
 }
+#endif
 
 #endif /* lock-intern.h */
diff --git a/mach/mach/mig_support.h b/mach/mach/mig_support.h
index e876c09..56ec6df 100644
--- a/mach/mach/mig_support.h
+++ b/mach/mach/mig_support.h
@@ -66,6 +66,8 @@ extern void mig_reply_setup (const mach_msg_header_t *__request,
 /* Idiocy support function.  */
 extern vm_size_t mig_strncpy (char *__dst, const char *__src, vm_size_t __len);
 extern vm_size_t __mig_strncpy (char *__dst, const char *__src, vm_size_t);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 __extern_inline vm_size_t
 __mig_strncpy (char *__dst, const char *__src, vm_size_t __len)
 {
@@ -76,6 +78,7 @@ mig_strncpy (char *__dst, const char *__src, vm_size_t __len)
 {
   return __mig_strncpy (__dst, __src, __len);
 }
+#endif
 
 
 
diff --git a/mach/spin-lock.c b/mach/spin-lock.c
index aaebc55..1b1e69c 100644
--- a/mach/spin-lock.c
+++ b/mach/spin-lock.c
@@ -1,3 +1,4 @@
+#define __USE_EXTERN_INLINES 1
 #define _EXTERN_INLINE /* Empty to define the real functions.  */
 #include "spin-lock.h"
 
diff --git a/sysdeps/generic/machine-lock.h b/sysdeps/generic/machine-lock.h
index 4aa2287..b3e6724 100644
--- a/sysdeps/generic/machine-lock.h
+++ b/sysdeps/generic/machine-lock.h
@@ -34,14 +34,21 @@ typedef volatile int __spin_lock_t;
 
 /* Unlock LOCK.  */
 
+extern void __spin_unlock (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE void
 __spin_unlock (__spin_lock_t *__lock)
 {
   *__lock = 0;
 }
+#endif
 
 /* Try to lock LOCK; return nonzero if we locked it, zero if another has.  */
 
+extern int __spin_try_lock (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE int
 __spin_try_lock (__spin_lock_t *__lock)
 {
@@ -50,14 +57,19 @@ __spin_try_lock (__spin_lock_t *__lock)
   *__lock = 1;
   return 1;
 }
+#endif
 
 /* Return nonzero if LOCK is locked.  */
 
+extern int __spin_lock_locked (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE int
 __spin_lock_locked (__spin_lock_t *__lock)
 {
   return *__lock != 0;
 }
+#endif
 
 
 #endif /* machine-lock.h */
diff --git a/sysdeps/mach/i386/machine-lock.h b/sysdeps/mach/i386/machine-lock.h
index 8a6a9ee..3c12021 100644
--- a/sysdeps/mach/i386/machine-lock.h
+++ b/sysdeps/mach/i386/machine-lock.h
@@ -34,6 +34,9 @@ typedef volatile int __spin_lock_t;
 
 /* Unlock LOCK.  */
 
+extern void __spin_unlock (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE void
 __spin_unlock (__spin_lock_t *__lock)
 {
@@ -42,9 +45,13 @@ __spin_unlock (__spin_lock_t *__lock)
 		       : "=&r" (__unlocked), "=m" (*__lock) : "0" (0)
 		       : "memory");
 }
+#endif
 
 /* Try to lock LOCK; return nonzero if we locked it, zero if another has.  */
 
+extern int __spin_try_lock (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE int
 __spin_try_lock (__spin_lock_t *__lock)
 {
@@ -54,14 +61,19 @@ __spin_try_lock (__spin_lock_t *__lock)
 		      : "memory");
   return !__locked;
 }
+#endif
 
 /* Return nonzero if LOCK is locked.  */
 
+extern int __spin_lock_locked (__spin_lock_t *__lock);
+
+#if defined __USE_EXTERN_INLINES && defined _LIBC
 _EXTERN_INLINE int
 __spin_lock_locked (__spin_lock_t *__lock)
 {
   return *__lock != 0;
 }
+#endif
 
 
 #endif /* machine-lock.h */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                        |   30 ++++++++++++++++++++++++++
 hurd/Versions                    |    8 +++++++
 hurd/hurd.h                      |    4 +++
 hurd/hurd/fd.h                   |   26 +++++++++++++++++++++++
 hurd/hurd/port.h                 |   43 ++++++++++++++++++++++++++++++++++++++
 hurd/hurd/signal.h               |   16 ++++++++++++++
 hurd/hurd/threadvar.h            |    9 ++++++++
 hurd/hurd/userlink.h             |   20 +++++++++++++++++
 mach/lock-intern.h               |   20 +++++++++++++++++
 mach/mach/mig_support.h          |    3 ++
 mach/spin-lock.c                 |    1 +
 sysdeps/generic/machine-lock.h   |   12 ++++++++++
 sysdeps/mach/i386/machine-lock.h |   12 ++++++++++
 13 files changed, 204 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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