[uclibc-ng-devel] uClibc-ng - small C library for embedded systems branch master updated. 6a528e846bc4bf773e7c19d298cfc30e8b50ca99

wbx wbx at helium.waldemar-brodkorb.de
Thu Dec 4 19:34:39 CET 2014


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 "uClibc-ng - small C library for embedded systems".

The branch, master has been updated
       via  6a528e846bc4bf773e7c19d298cfc30e8b50ca99 (commit)
       via  a1b88fe87a9d2be5696247d266f5c4fd20f000bb (commit)
       via  a58f1e2a537d339bf4d37058b4cc4324b24c569f (commit)
      from  c37bec8802893e7cb3e8bfda8a6f7c61de5f231d (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 -----------------------------------------------------------------
commit 6a528e846bc4bf773e7c19d298cfc30e8b50ca99
Merge: c37bec8 a1b88fe
Author: Waldemar Brodkorb <wbx at openadk.org>
Date:   Thu Dec 4 19:34:29 2014 +0100

    Merge remote-tracking branch 'origin/upstream'

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

Summary of changes:
 Rules.mak                              |   36 ++++++++--------------
 libc/sysdeps/linux/mips/bits/siginfo.h |   51 +++++++++++++++++++++-----------
 2 files changed, 45 insertions(+), 42 deletions(-)

diff --git a/Rules.mak b/Rules.mak
index 3cc38f8..72e55f5 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -260,9 +260,17 @@ LDFLAG-fuse-ld := $(filter -fuse-ld=%,$(call qstrip,$(UCLIBC_EXTRA_CFLAGS)))
 # Could use -Wl,--script,$(top_srcdir)extra/scripts/none.lds as well.
 $(eval $(call check-ld-var,--no-warn-mismatch))
 
+$(eval $(call cache-output-var,GCC_VER,$(CC) -dumpversion))
+GCC_VER := $(subst ., ,$(GCC_VER))
+GCC_MAJOR_VER ?= $(word 1,$(GCC_VER))
+GCC_MINOR_VER ?= $(word 2,$(GCC_VER))
+
 # Flags in OPTIMIZATION are used only for non-debug builds
 
 OPTIMIZATION:=
+OPTIMIZATION-$(GCC_MAJOR_VER):=
+OPTIMIZATION-$(GCC_MAJOR_VER).$(GCC_MINOR_VER):=
+
 # Use '-Os' optimization if available, else use -O2, allow Config to override
 $(eval $(call check-gcc-var,-Os))
 ifneq ($(CFLAG_-Os),)
@@ -273,31 +281,9 @@ OPTIMIZATION += $(CFLAG_-O2)
 endif
 # Use the gcc 3.4 -funit-at-a-time optimization when available
 $(eval $(call check-gcc-var,-funit-at-a-time))
-OPTIMIZATION += $(CFLAG_-funit-at-a-time)
-# shrinks code by about 0.1%
-$(eval $(call check-gcc-var,-fmerge-all-constants))
+OPTIMIZATION-3.4 += $(CFLAG_-funit-at-a-time)
 $(eval $(call check-gcc-var,-fstrict-aliasing))
-OPTIMIZATION += $(CFLAG_-fmerge-all-constants) $(CFLAG_-fstrict-aliasing)
-
-$(eval $(call cache-output-var,GCC_VER,$(CC) -dumpversion))
-GCC_VER := $(subst ., ,$(GCC_VER))
-GCC_MAJOR_VER ?= $(word 1,$(GCC_VER))
-#GCC_MINOR_VER ?= $(word 2,$(GCC_VER))
-
-ifneq ($(TARGET_ARCH),arc)
-ifeq ($(GCC_MAJOR_VER),4)
-# shrinks code, results are from 4.0.2
-# 0.36%
-$(eval $(call check-gcc-var,-fno-tree-loop-optimize))
-OPTIMIZATION += $(CFLAG_-fno-tree-loop-optimize)
-# 0.34%
-$(eval $(call check-gcc-var,-fno-tree-dominator-opts))
-OPTIMIZATION += $(CFLAG_-fno-tree-dominator-opts)
-# 0.1%
-$(eval $(call check-gcc-var,-fno-strength-reduce))
-OPTIMIZATION += $(CFLAG_-fno-strength-reduce)
-endif
-endif
+OPTIMIZATION += $(CFLAG_-fstrict-aliasing)
 
 # CPU_CFLAGS-y contain options which are not warnings,
 # not include or library paths, and not optimizations.
@@ -707,6 +693,8 @@ ifeq ($(DODEBUG),y)
 CFLAGS += -O0 -g3 -DDEBUG
 else
 CFLAGS += $(OPTIMIZATION)
+CFLAGS += $(OPTIMIZATION-$(GCC_MAJOR_VER))
+CFLAGS += $(OPTIMIZATION-$(GCC_MAJOR_VER).$(GCC_MINOR_VER))
 endif
 ifeq ($(DOSTRIP),y)
 LDFLAGS += -Wl,-s
diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h
index a6e4135..5199d4d 100644
--- a/libc/sysdeps/linux/mips/bits/siginfo.h
+++ b/libc/sysdeps/linux/mips/bits/siginfo.h
@@ -69,6 +69,22 @@ typedef struct siginfo
 	    __uid_t si_uid;	/* Real user ID of sending process.  */
 	  } _kill;
 
+	/* POSIX.1b timers.  */
+	struct
+	  {
+	    int si_tid;		/* Timer ID.  */
+	    int si_overrun;	/* Overrun count.  */
+	    sigval_t si_sigval;	/* Signal value.  */
+	  } _timer;
+
+	/* POSIX.1b signals.  */
+	struct
+	  {
+	    __pid_t si_pid;	/* Sending process ID.  */
+	    __uid_t si_uid;	/* Real user ID of sending process.  */
+	    sigval_t si_sigval;	/* Signal value.  */
+	  } _rt;
+
 	/* SIGCHLD.  */
 	struct
 	  {
@@ -83,29 +99,15 @@ typedef struct siginfo
 	struct
 	  {
 	    void *si_addr;	/* Faulting insn/memory ref.  */
+	    short int si_addr_lsb;	/* Valid LSB of the reported address.  */
 	  } _sigfault;
 
 	/* SIGPOLL.  */
 	struct
 	  {
-	    int si_band;	/* Band event for SIGPOLL.  */
+	    long int si_band;	/* Band event for SIGPOLL.  */
 	    int si_fd;
 	  } _sigpoll;
-
-	/* POSIX.1b timers.  */
-	struct
-	  {
-	    unsigned int _timer1;
-	    unsigned int _timer2;
-	  } _timer;
-
-	/* POSIX.1b signals.  */
-	struct
-	  {
-	    __pid_t si_pid;	/* Sending process ID.  */
-	    __uid_t si_uid;	/* Real user ID of sending process.  */
-	    sigval_t si_sigval;	/* Signal value.  */
-	  } _rt;
       } _sifields;
   } siginfo_t;
 
@@ -113,6 +115,8 @@ typedef struct siginfo
 /* X/Open requires some more fields with fixed names.  */
 # define si_pid		_sifields._kill.si_pid
 # define si_uid		_sifields._kill.si_uid
+# define si_timerid	_sifields._timer.si_tid
+# define si_overrun	_sifields._timer.si_overrun
 # define si_status	_sifields._sigchld.si_status
 # define si_utime	_sifields._sigchld.si_utime
 # define si_stime	_sifields._sigchld.si_stime
@@ -120,6 +124,7 @@ typedef struct siginfo
 # define si_int		_sifields._rt.si_sigval.sival_int
 # define si_ptr		_sifields._rt.si_sigval.sival_ptr
 # define si_addr	_sifields._sigfault.si_addr
+# define si_addr_lsb	_sifields._sigfault.si_addr_lsb
 # define si_band	_sifields._sigpoll.si_band
 # define si_fd		_sifields._sigpoll.si_fd
 
@@ -142,13 +147,14 @@ enum
 # define SI_ASYNCIO	SI_ASYNCIO
   SI_QUEUE,			/* Sent by sigqueue.  */
 # define SI_QUEUE	SI_QUEUE
-  SI_USER,			/* Sent by kill, sigsend, raise.  */
+  SI_USER,			/* Sent by kill, sigsend.  */
 # define SI_USER	SI_USER
   SI_KERNEL = 0x80		/* Send by kernel.  */
 #define SI_KERNEL	SI_KERNEL
 };
 
 
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 /* `si_code' values for SIGILL signal.  */
 enum
 {
@@ -207,10 +213,16 @@ enum
 # define BUS_ADRALN	BUS_ADRALN
   BUS_ADRERR,			/* Non-existant physical address.  */
 # define BUS_ADRERR	BUS_ADRERR
-  BUS_OBJERR			/* Object specific hardware error.  */
+  BUS_OBJERR,			/* Object specific hardware error.  */
 # define BUS_OBJERR	BUS_OBJERR
+  BUS_MCEERR_AR,		/* Hardware memory error: action required.  */
+#  define BUS_MCEERR_AR	BUS_MCEERR_AR
+  BUS_MCEERR_AO			/* Hardware memory error: action optional.  */
+#  define BUS_MCEERR_AO	BUS_MCEERR_AO
 };
+# endif
 
+# ifdef __USE_XOPEN_EXTENDED
 /* `si_code' values for SIGTRAP signal.  */
 enum
 {
@@ -219,7 +231,9 @@ enum
   TRAP_TRACE			/* Process trace trap.  */
 # define TRAP_TRACE	TRAP_TRACE
 };
+# endif
 
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 /* `si_code' values for SIGCHLD signal.  */
 enum
 {
@@ -253,6 +267,7 @@ enum
   POLL_HUP			/* Device disconnected.  */
 # define POLL_HUP	POLL_HUP
 };
+# endif
 
 # undef __need_siginfo_t
 #endif	/* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */


hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems


More information about the devel mailing list