Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/external/bsd/compiler_rt/dist Import compiler-rt r209132...



details:   https://anonhg.NetBSD.org/src/rev/b485c40e8158
branches:  trunk
changeset: 796084:b485c40e8158
user:      joerg <joerg%NetBSD.org@localhost>
date:      Mon May 19 16:11:28 2014 +0000

description:
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.

diffstat:

 sys/external/bsd/compiler_rt/dist/README.txt                                     |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/comparesf2.S                  |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/restore_vfp_d8_d15_regs.S     |    2 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/save_vfp_d8_d15_regs.S        |    2 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch16.S                    |    2 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch32.S                    |    3 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch8.S                     |    3 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switchu8.S                    |    3 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/assembly.h                        |  158 +++++----
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c                      |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c                      |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparetf2.c                      |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_types.h                       |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/ppc/fixtfdi.c                     |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfiling.c                   |    3 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfiling.h                   |    3 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingBuffer.c             |   11 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingFile.c               |  146 ++++++---
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingPlatformDarwin.c     |   12 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingPlatformOther.c      |    9 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingRuntime.cc           |   11 +-
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dlopen-func.c    |    1 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dlopen-func2.c   |    1 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dlopen-main.c    |   47 ++
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-a.cpp    |    7 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-b.cpp    |    7 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-header.h |    5 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-main.cpp |    9 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-dlopen.test             |   34 ++
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-dynamic-one-shared.test |   23 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-dynamic-two-shared.test |   24 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-write-file-only.c       |    7 +-
 sys/external/bsd/compiler_rt/dist/test/profile/lit.cfg                           |    3 +
 36 files changed, 402 insertions(+), 154 deletions(-)

diffs (truncated from 1003 to 300 lines):

diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/README.txt
--- a/sys/external/bsd/compiler_rt/dist/README.txt      Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/README.txt      Mon May 19 16:11:28 2014 +0000
@@ -198,7 +198,7 @@
 
 // __clear_cache() is used to tell process that new instructions have been
 // written to an address range.  Necessary on processors that do not have
-// a unified instuction and data cache.
+// a unified instruction and data cache.
 void __clear_cache(void* start, void* end);
 
 // __enable_execute_stack() is used with nested functions when a trampoline
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c   Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c   Mon May 19 16:11:28 2014 +0000
@@ -101,7 +101,7 @@
         // If a == -b, return +zero.
         if (aSignificand == 0) return fromRep(0);
         
-        // If partial cancellation occured, we need to left-shift the result
+        // If partial cancellation occurred, we need to left-shift the result
         // and adjust the exponent:
         if (aSignificand < implicitBit << 3) {
             const int shift = rep_clz(aSignificand) - rep_clz(implicitBit << 3);
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c   Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c   Mon May 19 16:11:28 2014 +0000
@@ -101,7 +101,7 @@
         // If a == -b, return +zero.
         if (aSignificand == 0) return fromRep(0);
         
-        // If partial cancellation occured, we need to left-shift the result
+        // If partial cancellation occurred, we need to left-shift the result
         // and adjust the exponent:
         if (aSignificand < implicitBit << 3) {
             const int shift = rep_clz(aSignificand) - rep_clz(implicitBit << 3);
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/comparesf2.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/comparesf2.S   Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/comparesf2.S   Mon May 19 16:11:28 2014 +0000
@@ -107,7 +107,7 @@
 
 .p2align 2
 DEFINE_COMPILERRT_FUNCTION(__gtsf2)
-    // Identical to the preceeding except in that we return -1 for NaN values.
+    // Identical to the preceding except in that we return -1 for NaN values.
     // Given that the two paths share so much code, one might be tempted to 
     // unify them; however, the extra code needed to do so makes the code size
     // to performance tradeoff very hard to justify for such small functions.
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/restore_vfp_d8_d15_regs.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/restore_vfp_d8_d15_regs.S      Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/restore_vfp_d8_d15_regs.S      Mon May 19 16:11:28 2014 +0000
@@ -31,5 +31,3 @@
        bx      lr                      // return to prolog
 END_COMPILERRT_FUNCTION(__restore_vfp_d8_d15_regs)
 
-       // tell linker it can break up file at label boundaries
-       .subsections_via_symbols
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/save_vfp_d8_d15_regs.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/save_vfp_d8_d15_regs.S Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/save_vfp_d8_d15_regs.S Mon May 19 16:11:28 2014 +0000
@@ -31,5 +31,3 @@
        bx      lr                      // return to prolog
 END_COMPILERRT_FUNCTION(__save_vfp_d8_d15_regs)
 
-       // tell linker it can break up file at label boundaries
-       .subsections_via_symbols
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch16.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch16.S     Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch16.S     Mon May 19 16:11:28 2014 +0000
@@ -42,5 +42,3 @@
        bx      ip                      // jump to computed label
 END_COMPILERRT_FUNCTION(__switch16)
 
-       // tell linker it can break up file at label boundaries
-       .subsections_via_symbols
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch32.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch32.S     Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch32.S     Mon May 19 16:11:28 2014 +0000
@@ -42,6 +42,3 @@
        bx      ip                       // jump to computed label
 END_COMPILERRT_FUNCTION(__switch32)
 
-       // tell linker it can break up file at label boundaries
-       .subsections_via_symbols
-
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch8.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch8.S      Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switch8.S      Mon May 19 16:11:28 2014 +0000
@@ -40,6 +40,3 @@
        bx      ip                      // jump to computed label
 END_COMPILERRT_FUNCTION(__switch8)
 
-       // tell linker it can break up file at label boundaries
-       .subsections_via_symbols
-
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switchu8.S
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switchu8.S     Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/switchu8.S     Mon May 19 16:11:28 2014 +0000
@@ -40,6 +40,3 @@
        bx      ip                      // jump to computed label
 END_COMPILERRT_FUNCTION(__switchu8)
 
-       // tell linker it can break up file at label boundaries
-       .subsections_via_symbols
-
diff -r 3399426c416e -r b485c40e8158 sys/external/bsd/compiler_rt/dist/lib/builtins/assembly.h
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/assembly.h Mon May 19 16:04:10 2014 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/assembly.h Mon May 19 16:11:28 2014 +0000
@@ -23,112 +23,122 @@
 #endif
 
 #if defined(__APPLE__)
-#define HIDDEN_DIRECTIVE .private_extern
+#define HIDDEN(name) .private_extern name
 #define LOCAL_LABEL(name) L_##name
-#define FILE_LEVEL_DIRECTIVE  .subsections_via_symbols
+// tell linker it can break up file at label boundaries
+#define FILE_LEVEL_DIRECTIVE .subsections_via_symbols
 #define SYMBOL_IS_FUNC(name)
-#else
-#define HIDDEN_DIRECTIVE .hidden
+#elif defined(__ELF__)
+#define HIDDEN(name) .hidden name
 #define LOCAL_LABEL(name) .L_##name
 #define FILE_LEVEL_DIRECTIVE
-#  if defined(__arm__)
-#  define SYMBOL_IS_FUNC(name) .type name, %function
-#  else
-#  define SYMBOL_IS_FUNC(name) .type name, @function
-#  endif
+#if defined(__arm__)
+#define SYMBOL_IS_FUNC(name) .type name,%function
+#else
+#define SYMBOL_IS_FUNC(name) .type name,@function
+#endif
+#else
+#define HIDDEN_DIRECTIVE(name)
+#define LOCAL_LABEL(name) .L ## name
+#define SYMBOL_IS_FUNC(name)                                                   \
+  .def name SEPARATOR                                                          \
+    .scl 3 SEPARATOR                                                           \
+    .type 32 SEPARATOR                                                         \
+  .endef
+#define FILE_LEVEL_DIRECTIVE
 #endif
 
 #if defined(__arm__)
-# ifndef __ARM_ARCH
-#  if defined (__ARM_ARCH_7__) || defined (__ARM_ARCH_7A__) || \
-     defined (__ARM_ARCH_7R__) || defined (__ARM_ARCH_7M__) || \
-     defined (__ARM_ARCH_7EM__)
-#  define __ARM_ARCH 7
-#  endif
-# endif
-
-# ifndef __ARM_ARCH
-#  if defined (__ARM_ARCH_6__) || \
-      defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6K__) || \
-      defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
-      defined (__ARM_ARCH_6ZM__)
-#  define __ARM_ARCH 6
-#  endif
-# endif
+#ifndef __ARM_ARCH
+#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) ||                     \
+    defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) ||                    \
+    defined(__ARM_ARCH_7EM__)
+#define __ARM_ARCH 7
+#endif
+#endif
 
-# ifndef __ARM_ARCH
-#  if defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || \
-      defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
-#  define __ARM_ARCH 5
-#  endif
-# endif
-
-# ifndef __ARM_ARCH
-# define __ARM_ARCH 4
-# endif
+#ifndef __ARM_ARCH
+#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) ||                     \
+    defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) ||                    \
+    defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6ZM__)
+#define __ARM_ARCH 6
+#endif
+#endif
 
-# if defined(__ARM_ARCH_4T__) || __ARM_ARCH >= 5
-# define ARM_HAS_BX
-# endif
-# if !defined(__ARM_FEATURE_CLZ) && \
-     (__ARM_ARCH >= 6 || (__ARM_ARCH == 5 && !defined(__ARM_ARCH_5__)))
-# define __ARM_FEATURE_CLZ
-# endif
-
-# ifdef ARM_HAS_BX
-# define JMP(r)                bx      r
-# define JMPc(r,c)     bx##c   r
-# else
-# define JMP(r)                mov     pc, r
-# define JMPc(r,c)     mov##c  pc, r
-# endif
+#ifndef __ARM_ARCH
+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) ||                     \
+    defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__)
+#define __ARM_ARCH 5
+#endif
 #endif
 
-#define GLUE2(a, b) a ## b
+#ifndef __ARM_ARCH
+#define __ARM_ARCH 4
+#endif
+
+#if defined(__ARM_ARCH_4T__) || __ARM_ARCH >= 5
+#define ARM_HAS_BX
+#endif
+#if !defined(__ARM_FEATURE_CLZ) &&                                             \
+    (__ARM_ARCH >= 6 || (__ARM_ARCH == 5 && !defined(__ARM_ARCH_5__)))
+#define __ARM_FEATURE_CLZ
+#endif
+
+#ifdef ARM_HAS_BX
+#define JMP(r) bx r
+#define JMPc(r, c) bx##c r
+#else
+#define JMP(r) mov pc, r
+#define JMPc(r, c) mov##c pc, r
+#endif
+#endif
+
+#define GLUE2(a, b) a##b
 #define GLUE(a, b) GLUE2(a, b)
 #define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name)
 
 #ifdef VISIBILITY_HIDDEN
-#define DECLARE_SYMBOL_VISIBILITY(name)                    \
-  HIDDEN_DIRECTIVE SYMBOL_NAME(name) SEPARATOR
+#define DECLARE_SYMBOL_VISIBILITY(name)                                        \
+  HIDDEN(SYMBOL_NAME(name)) SEPARATOR
 #else
 #define DECLARE_SYMBOL_VISIBILITY(name)
 #endif
 
-#define DEFINE_COMPILERRT_FUNCTION(name)                   \
-  FILE_LEVEL_DIRECTIVE     SEPARATOR                       \
-  .globl SYMBOL_NAME(name) SEPARATOR                       \
-  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR              \
-  DECLARE_SYMBOL_VISIBILITY(name)                          \
+#define DEFINE_COMPILERRT_FUNCTION(name)                                       \
+  FILE_LEVEL_DIRECTIVE SEPARATOR                                               \
+  .globl SYMBOL_NAME(name) SEPARATOR                                           \
+  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR                                  \
+  DECLARE_SYMBOL_VISIBILITY(name)                                              \
   SYMBOL_NAME(name):
 
-#define DEFINE_COMPILERRT_PRIVATE_FUNCTION(name)           \
-  .globl SYMBOL_NAME(name) SEPARATOR                       \
-  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR              \
-  HIDDEN_DIRECTIVE SYMBOL_NAME(name) SEPARATOR             \
+#define DEFINE_COMPILERRT_PRIVATE_FUNCTION(name)                               \
+  FILE_LEVEL_DIRECTIVE SEPARATOR                                               \
+  .globl SYMBOL_NAME(name) SEPARATOR                                           \
+  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR                                  \
+  HIDDEN(SYMBOL_NAME(name)) SEPARATOR                                          \
   SYMBOL_NAME(name):
 
-#define DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED(name) \
-  .globl name SEPARATOR                                    \
-  SYMBOL_IS_FUNC(name) SEPARATOR                           \
-  HIDDEN_DIRECTIVE name SEPARATOR                          \
+#define DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED(name)                     \
+  .globl name SEPARATOR                                                        \
+  SYMBOL_IS_FUNC(name) SEPARATOR                                               \
+  HIDDEN(name) SEPARATOR                                                       \
   name:
 
-#define DEFINE_COMPILERRT_FUNCTION_ALIAS(name, target)     \
-  .globl SYMBOL_NAME(name) SEPARATOR                       \
-  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR              \
+#define DEFINE_COMPILERRT_FUNCTION_ALIAS(name, target)                         \
+  .globl SYMBOL_NAME(name) SEPARATOR                                           \
+  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR                                  \
   .set SYMBOL_NAME(name), SYMBOL_NAME(target) SEPARATOR
 
-#if defined (__ARM_EABI__)
-# define DEFINE_AEABI_FUNCTION_ALIAS(aeabi_name, name)      \
+#if defined(__ARM_EABI__)
+#define DEFINE_AEABI_FUNCTION_ALIAS(aeabi_name, name)                          \
   DEFINE_COMPILERRT_FUNCTION_ALIAS(aeabi_name, name)
 #else
-# define DEFINE_AEABI_FUNCTION_ALIAS(aeabi_name, name)
+#define DEFINE_AEABI_FUNCTION_ALIAS(aeabi_name, name)
 #endif
 
 #ifdef __ELF__
-#define END_COMPILERRT_FUNCTION(name) \
-       .size   SYMBOL_NAME(name), . - SYMBOL_NAME(name)



Home | Main Index | Thread Index | Old Index