This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch roland/nacl-port/master updated. aaf38f77736da87e6e453f63a6106fc59080b7a5
- From: roland at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 12 Feb 2015 22:36:29 -0000
- Subject: 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