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 google/grte/v5-2.27/master updated. glibc-2.27-179-g13822f1


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, google/grte/v5-2.27/master has been updated
       via  13822f18a7e3ec070544f0e673b640ba0e2a76d7 (commit)
       via  3628670a04f9a53586bd91c01588c4462b5e01d3 (commit)
      from  b9dab9c53496a8cd5bb18342eceff8a584c37a3e (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=13822f18a7e3ec070544f0e673b640ba0e2a76d7

commit 13822f18a7e3ec070544f0e673b640ba0e2a76d7
Author: Zack Weinberg <zackw@panix.com>
Date:   Wed Feb 7 15:45:58 2018 -0500

    [BZ #19239] Don't include sys/sysmacros.h from sys/types.h.
    
    This completes the deprecation and removal of this inclusion, which
    was begun in the 2.25 release.
    
    	* posix/sys/types.h: Don't include sys/sysmacros.h.
    	* misc/sys/sysmacros.h: Remove the conditional deprecation
    	warnings for the macros defined by this header.

diff --git a/ChangeLog b/ChangeLog
index fefd9e4..e7df102 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-02-12  Zack Weinberg  <zackw@panix.com>
+
+	[BZ #19239]
+	* posix/sys/types.h: Don't include sys/sysmacros.h.
+	* misc/sys/sysmacros.h: Remove the conditional deprecation
+	warnings for the macros defined by this header.
+
 2018-05-23  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #23196]
diff --git a/NEWS b/NEWS
index 2c58d07..4be0b98 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,19 @@ Major new features:
   Czech languages.  The Catalan and Greek languages now support abbreviated
   alternative month names.
 
+Deprecated and removed features, and other changes affecting compatibility:
+
+ * The macros 'major', 'minor', and 'makedev' are now only available from
+   the header <sys/sysmacros.h>; not from <sys/types.h> or various other
+   headers that happen to include <sys/types.h>.  These macros are rarely
+   used, not part of POSIX nor XSI, and their names frequently collide with
+   user code; see https://sourceware.org/bugzilla/show_bug.cgi?id=19239 for
+   further explanation.
+
+   <sys/sysmacros.h> is a GNU extension.  Portable programs that require
+   these macros should first include <sys/types.h>, and then include
+   <sys/sysmacros.h> if __GNU_LIBRARY__ is defined.
+
 Security related changes:
 
   CVE-2017-18269: An SSE2-based memmove implementation for the i386
diff --git a/misc/sys/sysmacros.h b/misc/sys/sysmacros.h
index ccc15e5..699e038 100644
--- a/misc/sys/sysmacros.h
+++ b/misc/sys/sysmacros.h
@@ -16,23 +16,6 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifndef _SYS_SYSMACROS_H_OUTER
-
-#ifndef __SYSMACROS_DEPRECATED_INCLUSION
-# define _SYS_SYSMACROS_H_OUTER 1
-#endif
-
-/* If <sys/sysmacros.h> is included after <sys/types.h>, these macros
-   will already be defined, and we need to redefine them without the
-   deprecation warnings.  (If they are included in the opposite order,
-   the outer #ifndef will suppress this entire file and the macros
-   will be usable without warnings.)  */
-#undef major
-#undef minor
-#undef makedev
-
-/* This is the macro that must be defined to satisfy the misuse check
-   in bits/sysmacros.h. */
 #ifndef _SYS_SYSMACROS_H
 #define _SYS_SYSMACROS_H 1
 
@@ -40,27 +23,6 @@
 #include <bits/types.h>
 #include <bits/sysmacros.h>
 
-/* Caution: The text of this deprecation message is unquoted, so that
-   #symbol can be substituted.  (It is converted to a string by
-   __SYSMACROS_DM1.)  This means the message must be a sequence of
-   complete pp-tokens; in particular, English contractions (it's,
-   can't) cannot be used.
-
-   The message has been manually word-wrapped to fit in 80 columns
-   when output by GCC 5 and 6.  The first line is shorter to leave
-   some room for the "foo.c:23: warning:" annotation.  */
-#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
- (In the GNU C Library, #symbol is defined\n\
-  by <sys/sysmacros.h>. For historical compatibility, it is\n\
-  currently defined by <sys/types.h> as well, but we plan to\n\
-  remove this soon.  To use #symbol, include <sys/sysmacros.h>\n\
-  directly.  If you did not intend to use a system-defined macro\n\
-  #symbol, you should undefine it after including <sys/types.h>.)
-
-/* This macro is variadic because the deprecation message above
-   contains commas.  */
-#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
-
 #define __SYSMACROS_DECL_TEMPL(rtype, name, proto)			     \
   extern rtype gnu_dev_##name proto __THROW __attribute_const__;
 
@@ -84,8 +46,6 @@ __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_IMPL_TEMPL)
 
 __END_DECLS
 
-#endif /* _SYS_SYSMACROS_H */
-
 #ifndef __SYSMACROS_NEED_IMPLEMENTATION
 # undef __SYSMACROS_DECL_TEMPL
 # undef __SYSMACROS_IMPL_TEMPL
@@ -97,14 +57,8 @@ __END_DECLS
 # undef __SYSMACROS_DEFINE_MAKEDEV
 #endif
 
-#ifdef __SYSMACROS_DEPRECATED_INCLUSION
-# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
-# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
-# define makedev(maj, min) __SYSMACROS_DM (makedev) gnu_dev_makedev (maj, min)
-#else
-# define major(dev) gnu_dev_major (dev)
-# define minor(dev) gnu_dev_minor (dev)
-# define makedev(maj, min) gnu_dev_makedev (maj, min)
-#endif
+#define major(dev) gnu_dev_major (dev)
+#define minor(dev) gnu_dev_minor (dev)
+#define makedev(maj, min) gnu_dev_makedev (maj, min)
 
 #endif /* sys/sysmacros.h */
diff --git a/posix/sys/types.h b/posix/sys/types.h
index a9e0005..acb6139 100644
--- a/posix/sys/types.h
+++ b/posix/sys/types.h
@@ -195,15 +195,6 @@ typedef int register_t __attribute__ ((__mode__ (__word__)));
 
 /* It also defines `fd_set' and the FD_* macros for `select'.  */
 # include <sys/select.h>
-
-/* BSD defines `major', `minor', and `makedev' in this header.
-   However, these symbols are likely to collide with user code, so we are
-   going to stop defining them here in an upcoming release.  Code that needs
-   these macros should include <sys/sysmacros.h> directly.  Code that does
-   not need these macros should #undef them after including this header.  */
-# define __SYSMACROS_DEPRECATED_INCLUSION
-# include <sys/sysmacros.h>
-# undef __SYSMACROS_DEPRECATED_INCLUSION
 #endif /* Use misc.  */
 
 

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

commit 3628670a04f9a53586bd91c01588c4462b5e01d3
Author: Stan Shebs <stanshebs@google.com>
Date:   Wed Feb 27 14:03:33 2019 -0800

    Remove .llvm_addrsig sections from crt.o files

diff --git a/csu/Makefile b/csu/Makefile
index f349896..7460bcb 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -106,7 +106,13 @@ include ../Rules
 subdir_lib: $(extra-objs:%=$(objpfx)%)
 
 define link-relocatable
-$(CC) -nostdlib -nostartfiles -r -o $@ $^
+$(CC) -nostdlib -nostartfiles -r -o $@.precopy $^
+# Remove a section generated by clang for safe ICF; when lld links and
+# retains relocs, the section is garbled and causes errors in later
+# links done with --icf=safe.  The removal can be unconditional as it
+# is a no-op for non-clang/lld.
+$(OBJCOPY) --remove-section=.llvm_addrsig $@.precopy $@
+rm $@.precopy
 endef
 
 ifndef start-installed-name-rule

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

Summary of changes:
 ChangeLog            |    7 ++++++
 NEWS                 |   13 ++++++++++++
 csu/Makefile         |    8 ++++++-
 misc/sys/sysmacros.h |   52 ++-----------------------------------------------
 posix/sys/types.h    |    9 --------
 5 files changed, 30 insertions(+), 59 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]