Revert:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 22 Apr 2015 15:34:46 +0000 (15:34 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Wed, 22 Apr 2015 15:34:46 +0000 (15:34 +0000)
2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

* config.gcc (LIBC_MUSL): New tm_defines macro.
* config/linux.h (OPTION_MUSL): Define.
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.

* config/linux.opt (mmusl): New option.
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.

* configure: Regenerate.

From-SVN: r222330

gcc/ChangeLog
gcc/config.gcc
gcc/config/linux.h
gcc/config/linux.opt
gcc/configure
gcc/configure.ac

index de916806285e40314b60489dcaaaa7eb826e4adc..1ffccddd658df9ccb55f9e121b21240ee32e805c 100644 (file)
@@ -1,3 +1,20 @@
+2015-04-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       Revert:
+       2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
+
+       * config.gcc (LIBC_MUSL): New tm_defines macro.
+       * config/linux.h (OPTION_MUSL): Define.
+       (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
+       (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
+       (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
+
+       * config/linux.opt (mmusl): New option.
+       * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
+       (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
+
+       * configure: Regenerate.
+
 2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
 
        * config.gcc (LIBC_MUSL): New tm_defines macro.
index 0176ca2386dfa40e47b0516ed24308f3aa35205f..a1df043328561eac20fc3ad5a0ce499eacb8991b 100644 (file)
@@ -575,7 +575,7 @@ case ${target} in
 esac
 
 # Common C libraries.
-tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
 
 # 32-bit x86 processors supported by --with-arch=.  Each processor
 # MUST be separated by exactly one space.
@@ -725,9 +725,6 @@ case ${target} in
     *-*-*uclibc*)
       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
       ;;
-    *-*-*musl*)
-      tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
-      ;;
     *)
       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
       ;;
index cda87bfe2b8497a6b5fb9400d551329296243d81..857389a8c2dc408fac99dfb7187247f04685fcfa 100644 (file)
@@ -32,12 +32,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define OPTION_GLIBC  (DEFAULT_LIBC == LIBC_GLIBC)
 #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
 #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
-#define OPTION_MUSL   (DEFAULT_LIBC == LIBC_MUSL)
 #else
 #define OPTION_GLIBC  (linux_libc == LIBC_GLIBC)
 #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
 #define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
-#define OPTION_MUSL   (linux_libc == LIBC_MUSL)
 #endif
 
 #define GNU_USER_TARGET_OS_CPP_BUILTINS()                      \
@@ -52,25 +50,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     } while (0)
 
 /* Determine which dynamic linker to use depending on whether GLIBC or
-   uClibc or Bionic or musl is the default C library and whether
-   -muclibc or -mglibc or -mbionic or -mmusl has been passed to change
-   the default.  */
+   uClibc or Bionic is the default C library and whether
+   -muclibc or -mglibc or -mbionic has been passed to change the default.  */
 
-#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \
-  "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}"
+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3)     \
+  "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}"
 
 #if DEFAULT_LIBC == LIBC_GLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-  CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M)
+#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
+  CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B)
 #elif DEFAULT_LIBC == LIBC_UCLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-  CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M)
+#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
+  CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B)
 #elif DEFAULT_LIBC == LIBC_BIONIC
-#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-  CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M)
-#elif DEFAULT_LIBC == LIBC_MUSL
-#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
-  CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B)
+#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
+  CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U)
 #else
 #error "Unsupported DEFAULT_LIBC"
 #endif /* DEFAULT_LIBC */
@@ -90,92 +84,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #define GNU_USER_DYNAMIC_LINKER                                                \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,  \
-                        BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
+                        BIONIC_DYNAMIC_LINKER)
 #define GNU_USER_DYNAMIC_LINKER32                                      \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
-                        BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
+                        BIONIC_DYNAMIC_LINKER32)
 #define GNU_USER_DYNAMIC_LINKER64                                      \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
-                        BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
+                        BIONIC_DYNAMIC_LINKER64)
 #define GNU_USER_DYNAMIC_LINKERX32                                     \
   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \
-                        BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32)
+                        BIONIC_DYNAMIC_LINKERX32)
 
 /* Whether we have Bionic libc runtime */
 #undef TARGET_HAS_BIONIC
 #define TARGET_HAS_BIONIC (OPTION_BIONIC)
 
-/* musl avoids problematic includes by rearranging the include directories.
- * Unfortunately, this is mostly duplicated from cppdefault.c */
-#if DEFAULT_LIBC == LIBC_MUSL
-#define INCLUDE_DEFAULTS_MUSL_GPP                      \
-    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,              \
-      GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },          \
-    { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,         \
-      GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },          \
-    { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,     \
-      GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
-
-#ifdef LOCAL_INCLUDE_DIR
-#define INCLUDE_DEFAULTS_MUSL_LOCAL                    \
-    { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },              \
-    { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
-#else
-#define INCLUDE_DEFAULTS_MUSL_LOCAL
-#endif
-
-#ifdef PREFIX_INCLUDE_DIR
-#define INCLUDE_DEFAULTS_MUSL_PREFIX                   \
-    { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
-#else
-#define INCLUDE_DEFAULTS_MUSL_PREFIX
-#endif
-
-#ifdef CROSS_INCLUDE_DIR
-#define INCLUDE_DEFAULTS_MUSL_CROSS                    \
-    { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
-#else
-#define INCLUDE_DEFAULTS_MUSL_CROSS
-#endif
-
-#ifdef TOOL_INCLUDE_DIR
-#define INCLUDE_DEFAULTS_MUSL_TOOL                     \
-    { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
-#else
-#define INCLUDE_DEFAULTS_MUSL_TOOL
-#endif
-
-#ifdef NATIVE_SYSTEM_HEADER_DIR
-#define INCLUDE_DEFAULTS_MUSL_NATIVE                   \
-    { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 },       \
-    { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
-#else
-#define INCLUDE_DEFAULTS_MUSL_NATIVE
-#endif
-
-#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT)
-# undef INCLUDE_DEFAULTS_MUSL_LOCAL
-# define INCLUDE_DEFAULTS_MUSL_LOCAL
-# undef INCLUDE_DEFAULTS_MUSL_NATIVE
-# define INCLUDE_DEFAULTS_MUSL_NATIVE
-#else
-# undef INCLUDE_DEFAULTS_MUSL_CROSS
-# define INCLUDE_DEFAULTS_MUSL_CROSS
-#endif
-
-#undef INCLUDE_DEFAULTS
-#define INCLUDE_DEFAULTS                               \
-  {                                                    \
-    INCLUDE_DEFAULTS_MUSL_GPP                          \
-    INCLUDE_DEFAULTS_MUSL_PREFIX                       \
-    INCLUDE_DEFAULTS_MUSL_CROSS                                \
-    INCLUDE_DEFAULTS_MUSL_TOOL                         \
-    INCLUDE_DEFAULTS_MUSL_NATIVE                       \
-    { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 },            \
-    { 0, 0, 0, 0, 0, 0 }                               \
-  }
-#endif
-
 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
 /* This is a *uclinux* target.  We don't define below macros to normal linux
    versions, because doing so would require *uclinux* targets to include
index 9334f747332972745ba9f79dad0983e9093caae6..c054338443bc68b2157d66589cf502788c829252 100644 (file)
@@ -30,7 +30,3 @@ Use GNU C library
 muclibc
 Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
 Use uClibc C library
-
-mmusl
-Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
-Use musl C library
index 5345f695404d1c5ceeb4d67c806e647695df72f2..9523773e721bd8dd162aca96671a29d037bc10c2 100755 (executable)
@@ -27678,9 +27678,6 @@ if test "${gcc_cv_libc_provides_ssp+set}" = set; then :
 else
   gcc_cv_libc_provides_ssp=no
     case "$target" in
-       *-*-musl*)
-        # All versions of musl provide stack protector
-        gcc_cv_libc_provides_ssp=yes;;
        *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
       # glibc 2.4 and later provides __stack_chk_fail and
       # either __stack_chk_guard, or TLS access to stack guard canary.
@@ -27713,7 +27710,6 @@ fi
         # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
         # simply assert that glibc does provide this, which is true for all
         # realistically usable GNU/Hurd configurations.
-        # All supported versions of musl provide it as well
         gcc_cv_libc_provides_ssp=yes;;
        *-*-darwin* | *-*-freebsd*)
         ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
@@ -27810,9 +27806,6 @@ case "$target" in
       gcc_cv_target_dl_iterate_phdr=no
     fi
     ;;
-  *-linux-musl*)
-    gcc_cv_target_dl_iterate_phdr=yes
-    ;;
 esac
 
 if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
index 27ecdcda6c0bcd6043a00d6ceff03afbdec0da46..68b0ee83fac8be32fcc4618003f489c211eeae5a 100644 (file)
@@ -5199,9 +5199,6 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library,
       gcc_cv_libc_provides_ssp,
       [gcc_cv_libc_provides_ssp=no
     case "$target" in
-       *-*-musl*)
-        # All versions of musl provide stack protector
-        gcc_cv_libc_provides_ssp=yes;;
        *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
       # glibc 2.4 and later provides __stack_chk_fail and
       # either __stack_chk_guard, or TLS access to stack guard canary.
@@ -5228,7 +5225,6 @@ AC_CACHE_CHECK(__stack_chk_fail in target C library,
         # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
         # simply assert that glibc does provide this, which is true for all
         # realistically usable GNU/Hurd configurations.
-        # All supported versions of musl provide it as well
         gcc_cv_libc_provides_ssp=yes;;
        *-*-darwin* | *-*-freebsd*)
         AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
@@ -5302,9 +5298,6 @@ case "$target" in
       gcc_cv_target_dl_iterate_phdr=no
     fi
     ;;
-  *-linux-musl*)
-    gcc_cv_target_dl_iterate_phdr=yes
-    ;;
 esac
 GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
 if test x$gcc_cv_target_dl_iterate_phdr = xyes; then