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.27.9000-150-g4dc2380


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  4dc23804a220f917f400e2404bc4803cd60491c7 (commit)
      from  1c81d55fc4b07b51adf68558ba74ce975153e580 (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=4dc23804a220f917f400e2404bc4803cd60491c7

commit 4dc23804a220f917f400e2404bc4803cd60491c7
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Mar 2 22:27:56 2018 +0000

    Fix powerpc ifunc-sel.h build for -Os.
    
    Compiling the testsuite for powerpc (multi-arch configurations) with
    -Os with GCC 7 fails with:
    
    In file included from ifuncmod1.c:7:0,
                     from ifuncdep1.c:3:
    ../sysdeps/powerpc/ifunc-sel.h: In function 'ifunc_sel':
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: asm operand 2 probably doesn't match constraints [-Werror]
       __asm__ ("mflr 12\n\t"
       ^~~~~~~
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: asm operand 3 probably doesn't match constraints [-Werror]
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: asm operand 4 probably doesn't match constraints [-Werror]
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: impossible constraint in 'asm'
    
    The "i" constraints on function pointers require the function call to
    be inlined so the compiler can see the constant function pointer
    arguments passed to the asm.  This patch marks the relevant functions
    as always_inline accordingly.
    
    Tested that this fixes the -Os testsuite build for
    powerpc-linux-gnu-power4, powerpc64-linux-gnu, powerpc64le-linux-gnu
    with build-many-glibcs.py.
    
    	* sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Make always_inline.
    	(ifunc_one): Likewise.

diff --git a/ChangeLog b/ChangeLog
index 001141c..f2dd409 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Make always_inline.
+	(ifunc_one): Likewise.
+
 2018-03-01  DJ Delorie  <dj@delorie.com>
 
 	[BZ #22342]
diff --git a/sysdeps/powerpc/ifunc-sel.h b/sysdeps/powerpc/ifunc-sel.h
index bdb00bf..7112bed 100644
--- a/sysdeps/powerpc/ifunc-sel.h
+++ b/sysdeps/powerpc/ifunc-sel.h
@@ -4,7 +4,7 @@
 
 extern int global;
 
-static inline void *
+static inline __attribute__ ((always_inline)) void *
 inhibit_stack_protector
 ifunc_sel (int (*f1) (void), int (*f2) (void), int (*f3) (void))
 {
@@ -32,7 +32,7 @@ ifunc_sel (int (*f1) (void), int (*f2) (void), int (*f3) (void))
   return ret;
 }
 
-static inline void *
+static inline __attribute__ ((always_inline)) void *
 inhibit_stack_protector
 ifunc_one (int (*f1) (void))
 {

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

Summary of changes:
 ChangeLog                   |    5 +++++
 sysdeps/powerpc/ifunc-sel.h |    4 ++--
 2 files changed, 7 insertions(+), 2 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]