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 roland/nacl-port/master updated. aaf38f77736da87e6e453f63a6106fc59080b7a5


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, roland/nacl-port/master has been updated
       via  aaf38f77736da87e6e453f63a6106fc59080b7a5 (commit)
       via  7c78e343799368f2b1a664e88a988ce4ec79eaa3 (commit)
      from  0a6e4c2bb8875ddf33c2326cbc4080f8af2f896f (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=aaf38f77736da87e6e453f63a6106fc59080b7a5

commit aaf38f77736da87e6e453f63a6106fc59080b7a5
Author: Roland McGrath <roland@hack.frob.com>
Date:   Thu Feb 12 14:36:23 2015 -0800

    Tweaks to fix builds.

diff --git a/sysdeps/arm/nacl/sysdep.h b/sysdeps/arm/nacl/sysdep.h
index 951df32..aeb5566 100644
--- a/sysdeps/arm/nacl/sysdep.h
+++ b/sysdeps/arm/nacl/sysdep.h
@@ -60,6 +60,7 @@
 /* Rather than macroizing the code any more, we can just define a few
    mnemonics as macros here.  */
 # define bl			sfi_bl
+# define bxne			sfi_blne /* Only condition now in use.  */
 # define bx			sfi_bx
 # define blx			sfi_blx
 # define bxeq			sfi_bxeq /* Only condition now in use.  */
diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile
index 693cd4c..7a26b7f 100644
--- a/sysdeps/nacl/Makefile
+++ b/sysdeps/nacl/Makefile
@@ -73,6 +73,8 @@ endif
 $(common-objpfx)nacl-interfaces.v.i: $(nacl)/nacl-interfaces.mk.in \
 			      $(nacl)/nacl-interface-list.h
 -include $(common-objpfx)nacl-interfaces.v
+common-generated += nacl-interfaces.v
+before-compile += $(common-objpfx)nacl-interfaces.v
 
 nacl-all-interfaces = $(nacl-mandatory-interfaces) $(nacl-optional-interfaces)
 nacl-interface-routines = $(nacl-all-interfaces:%=nacl-interface-%)
diff --git a/sysdeps/nacl/configure b/sysdeps/nacl/configure
index 6e9060a..6bc753b 100644
--- a/sysdeps/nacl/configure
+++ b/sysdeps/nacl/configure
@@ -1,4 +1,4 @@
-# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/nacl.
 
 nacl_probe_file=native_client/src/trusted/service_runtime/include/sys/errno.h

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7c78e343799368f2b1a664e88a988ce4ec79eaa3

commit 7c78e343799368f2b1a664e88a988ce4ec79eaa3
Author: Roland McGrath <roland@hack.frob.com>
Date:   Thu Jan 22 11:30:37 2015 -0800

    Separate IRT tables in rtld.

diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile
index 86d8465..693cd4c 100644
--- a/sysdeps/nacl/Makefile
+++ b/sysdeps/nacl/Makefile
@@ -20,6 +20,7 @@
 # will probably never be useful for NaCl, just elide the directory rather
 # than implementing stuff to make it compile (and never get used).
 subdirs := $(filter-out nptl_db,$(subdirs))
+sorted-subdirs := $(filter-out nptl_db,$(sorted-subdirs))
 
 # The (required) --with-headers option to configure sets sysheaders to the
 # location of the native_client/.. source directory.  We'll get necessary
@@ -62,16 +63,24 @@ ifeq ($(subdir),misc)
 # install it.
 sysdep_headers += bits/mman-linux.h
 
-$(objpfx)nacl-interfaces.v.i: $(nacl)/nacl-interfaces.mk.in \
+# XXX temp test
+others += hello hellow
+others-static += hello
+
+endif
+
+
+$(common-objpfx)nacl-interfaces.v.i: $(nacl)/nacl-interfaces.mk.in \
 			      $(nacl)/nacl-interface-list.h
--include $(objpfx)nacl-interfaces.v
+-include $(common-objpfx)nacl-interfaces.v
 
 nacl-all-interfaces = $(nacl-mandatory-interfaces) $(nacl-optional-interfaces)
 nacl-interface-routines = $(nacl-all-interfaces:%=nacl-interface-%)
 
 define nacl-interface-table-command
 (echo '#define INTERFACE_CATEGORY $1'; \
- echo '#define INTERFACE_TYPE $*'; \
+ echo '#define INTERFACE_MODULE $(firstword $(subst -, ,$*))'; \
+ echo '#define INTERFACE_TYPE $(word 2,$(subst -, ,$*))'; \
  echo '#define INTERFACE_STRING $(nacl-$*-string)'; \
  echo '#include "nacl-interface-table.c"' \
 ) > $@T
@@ -81,21 +90,24 @@ endef
 nacl-interface-pattern = $(objpfx)nacl-interface-%.c
 
 $(nacl-mandatory-interfaces:%=$(nacl-interface-pattern)): \
-  $(nacl-interface-pattern): $(nacl)/Makefile $(objpfx)nacl-interfaces.v
+  $(nacl-interface-pattern): $(nacl)/Makefile $(common-objpfx)nacl-interfaces.v
 	$(make-target-directory)
 	$(call nacl-interface-table-command,mandatory)
 $(nacl-optional-interfaces:%=$(nacl-interface-pattern)): \
-  $(nacl-interface-pattern): $(nacl)/Makefile $(objpfx)nacl-interfaces.v
+  $(nacl-interface-pattern): $(nacl)/Makefile $(common-objpfx)nacl-interfaces.v
 	$(make-target-directory)
 	$(call nacl-interface-table-command,optional)
 
-sysdep_routines += nacl_interface_query \
-		   nacl-interfaces $(nacl-interface-routines)
+nacl-routines-of = $(filter nacl-interface-$1-%,$(nacl-interface-routines))
 
-# XXX temp test
-others += hello hellow
-others-static += hello
+ifeq ($(subdir),csu)
+sysdep_routines += nacl_interface_query \
+		   nacl-interfaces $(call nacl-routines-of,libc)
+endif
 
+ifeq ($(subdir),elf)
+sysdep-dl-routines += $(call nacl-routines-of,rtld)
+sysdep-rtld-routines += nacl-interfaces $(call nacl-routines-of,rtld)
 endif
 
 ifeq ($(subdir),io)
diff --git a/sysdeps/nacl/Versions b/sysdeps/nacl/Versions
index 60f1e92..32eb772 100644
--- a/sysdeps/nacl/Versions
+++ b/sysdeps/nacl/Versions
@@ -15,5 +15,7 @@ libc {
     __libc_open;
     __libc_close;
     __libc_fork;
+
+    __nacl_irt_*;
   }
 }
diff --git a/sysdeps/nacl/nacl-interface-list.h b/sysdeps/nacl/nacl-interface-list.h
index 3206eb7..2e6afd7 100644
--- a/sysdeps/nacl/nacl-interface-list.h
+++ b/sysdeps/nacl/nacl-interface-list.h
@@ -1,11 +1,20 @@
-NACL_MANDATORY_INTERFACE (NACL_IRT_BASIC_v0_1, nacl_irt_basic)
-NACL_MANDATORY_INTERFACE (NACL_IRT_FDIO_v0_1, nacl_irt_fdio)
-NACL_MANDATORY_INTERFACE (NACL_IRT_FILENAME_v0_1, nacl_irt_filename)
-NACL_MANDATORY_INTERFACE (NACL_IRT_MEMORY_v0_3, nacl_irt_memory)
-NACL_MANDATORY_INTERFACE (NACL_IRT_DYNCODE_v0_1, nacl_irt_dyncode)
-NACL_MANDATORY_INTERFACE (NACL_IRT_THREAD_v0_1, nacl_irt_thread)
-NACL_MANDATORY_INTERFACE (NACL_IRT_FUTEX_v0_1, nacl_irt_futex)
-NACL_MANDATORY_INTERFACE (NACL_IRT_TLS_v0_1, nacl_irt_tls)
-NACL_MANDATORY_INTERFACE (NACL_IRT_RESOURCE_OPEN_v0_1, nacl_irt_resource_open)
-NACL_OPTIONAL_INTERFACE (NACL_IRT_CLOCK_v0_1, nacl_irt_clock)
-NACL_OPTIONAL_INTERFACE (NACL_IRT_DEV_GETPID_v0_1, nacl_irt_dev_getpid)
+NACL_MANDATORY_INTERFACE (rtld,
+                          NACL_IRT_BASIC_v0_1, nacl_irt_basic)
+NACL_MANDATORY_INTERFACE (rtld,
+                          NACL_IRT_FDIO_v0_1, nacl_irt_fdio)
+NACL_MANDATORY_INTERFACE (rtld,
+                          NACL_IRT_FILENAME_v0_1, nacl_irt_filename)
+NACL_MANDATORY_INTERFACE (rtld,
+                          NACL_IRT_MEMORY_v0_3, nacl_irt_memory)
+NACL_MANDATORY_INTERFACE (libc,
+                          NACL_IRT_THREAD_v0_1, nacl_irt_thread)
+NACL_MANDATORY_INTERFACE (rtld,
+                          NACL_IRT_FUTEX_v0_1, nacl_irt_futex)
+NACL_MANDATORY_INTERFACE (rtld,
+                          NACL_IRT_TLS_v0_1, nacl_irt_tls)
+NACL_MANDATORY_INTERFACE (libc,
+                          NACL_IRT_RESOURCE_OPEN_v0_1, nacl_irt_resource_open)
+NACL_OPTIONAL_INTERFACE (libc,
+                         NACL_IRT_CLOCK_v0_1, nacl_irt_clock)
+NACL_OPTIONAL_INTERFACE (rtld,
+                         NACL_IRT_DEV_GETPID_v0_1, nacl_irt_dev_getpid)
diff --git a/sysdeps/nacl/nacl-interface-table.c b/sysdeps/nacl/nacl-interface-table.c
index 5a53fbd..e540198 100644
--- a/sysdeps/nacl/nacl-interface-table.c
+++ b/sysdeps/nacl/nacl-interface-table.c
@@ -23,6 +23,10 @@
 #define STRINGIFY(x)    STRINGIFY_1 (x)
 #define STRINGIFY_1(x)  #x
 
+#if IS_IN (rtld) && PASTE (MODULE_, INTERFACE_MODULE) != MODULE_rtld
+# error "This interface is also needed in rtld."
+#endif
+
 #define SECTION(which) \
   section ("nacl_"  STRINGIFY (INTERFACE_CATEGORY) "_interface_" #which)
 
@@ -36,3 +40,4 @@ static const struct nacl_interface PASTE (desc_, INTERFACE_TYPE)
 
 struct INTERFACE_TYPE PASTE (__, INTERFACE_TYPE)
   __attribute__ ((SECTION (tables)));
+PASTE (INTERFACE_MODULE, _hidden_data_def) (PASTE (__, INTERFACE_TYPE))
diff --git a/sysdeps/nacl/nacl-interfaces.h b/sysdeps/nacl/nacl-interfaces.h
index 524ca8d..8d28e1a 100644
--- a/sysdeps/nacl/nacl-interfaces.h
+++ b/sysdeps/nacl/nacl-interfaces.h
@@ -75,8 +75,19 @@ next_nacl_interface (const struct nacl_interface *i)
                          & -align);
 }
 
-#define NACL_MANDATORY_INTERFACE(id, type)	extern struct type __##type;
-#define NACL_OPTIONAL_INTERFACE(id, type)	extern struct type __##type;
+#if IS_IN (libpthread)
+# define libpthread_hidden_proto(name)	hidden_proto (name)
+#else
+# define libpthread_hidden_proto(name)
+#endif
+
+#define DECLARE_INTERFACE(module, type) \
+  extern struct type __##type; module##_hidden_proto (__##type);
+
+#define NACL_MANDATORY_INTERFACE(module, id, type)	\
+  DECLARE_INTERFACE (module, type)
+#define NACL_OPTIONAL_INTERFACE(module, id, type)	\
+  DECLARE_INTERFACE (module, type)
 #include "nacl-interface-list.h"
 #undef	NACL_MANDATORY_INTERFACE
 #undef	NACL_OPTIONAL_INTERFACE
diff --git a/sysdeps/nacl/nacl-interfaces.mk.in b/sysdeps/nacl/nacl-interfaces.mk.in
index 5d8c36e..92ff3c6 100644
--- a/sysdeps/nacl/nacl-interfaces.mk.in
+++ b/sysdeps/nacl/nacl-interfaces.mk.in
@@ -1,20 +1,23 @@
 /* Might as well be -*- C -*-.
-   This generates a makefile that sets the two variables
-   nacl-mandatory-interfaces and nacl-optional-interfaces
+
+   This generates a makefile that sets the variable pairs
+   nacl-MODULE-mandatory-interfaces and nacl-MODULE-optional-interfaces
    based on the nacl-interface-list.h list.  */
 
-%define NACL_MANDATORY_INTERFACE(id, type) \
-  nacl-mandatory-interfaces += type
-%define NACL_OPTIONAL_INTERFACE(id, type) \
-  nacl-optional-interfaces += type
+%define NACL_MANDATORY_INTERFACE(module, id, type)       \
+  nacl-mandatory-interfaces += module-type
+%define NACL_OPTIONAL_INTERFACE(module, id, type) \
+  nacl-optional-interfaces += module-type
 
 %include "nacl-interface-list.h"
 
 %undef NACL_MANDATORY_INTERFACE
 %undef NACL_OPTIONAL_INTERFACE
 
-%define NACL_MANDATORY_INTERFACE(id, type)	nacl-type-string := id
-%define NACL_OPTIONAL_INTERFACE(id, type)	nacl-type-string := id
+%define NACL_MANDATORY_INTERFACE(module, id, type)	\
+  nacl-module-type-string := id
+%define NACL_OPTIONAL_INTERFACE(module, id, type)	\
+  nacl-module-type-string := id
 
 %include "nacl-interface-list.h"
 
diff --git a/sysdeps/nacl/shlib-versions b/sysdeps/nacl/shlib-versions
index dc122bf..2658047 100644
--- a/sysdeps/nacl/shlib-versions
+++ b/sysdeps/nacl/shlib-versions
@@ -1,6 +1,6 @@
 # DEFAULT			Earliest symbol set
 # -------			-------------------
-DEFAULT				GLIBC_2.20
+DEFAULT				GLIBC_2.21
 
 # Library=version		Earliest symbol set (optional)
 # ---------------		------------------------------

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

Summary of changes:
 sysdeps/arm/nacl/sysdep.h           |    1 +
 sysdeps/nacl/Makefile               |   34 ++++++++++++++++++++++++----------
 sysdeps/nacl/Versions               |    2 ++
 sysdeps/nacl/configure              |    2 +-
 sysdeps/nacl/nacl-interface-list.h  |   31 ++++++++++++++++++++-----------
 sysdeps/nacl/nacl-interface-table.c |    5 +++++
 sysdeps/nacl/nacl-interfaces.h      |   15 +++++++++++++--
 sysdeps/nacl/nacl-interfaces.mk.in  |   19 +++++++++++--------
 sysdeps/nacl/shlib-versions         |    2 +-
 9 files changed, 78 insertions(+), 33 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]