diff options
-rw-r--r-- | gcc/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/config.gcc | 10 | ||||
-rw-r--r-- | gcc/config/alpha/linux.h | 4 | ||||
-rw-r--r-- | gcc/config/linux.h | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/linux.h | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/linux64.h | 4 |
6 files changed, 38 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dd2d71ed18d..c12643fb128 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,20 @@ +2010-12-20 Joseph Myers <joseph@codesourcery.com> + + * config/alpha/linux.h (OPTION_GLIBC): Define differently if + SINGLE_LIBC. + * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): + Define differently if SINGLE_LIBC. + * config/rs6000/linux.h (OPTION_GLIBC): Define differently if + SINGLE_LIBC. + * config/rs6000/linux64.h (OPTION_GLIBC): Define differently if + SINGLE_LIBC. + * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | + *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Define + SINGLE_LIBC instead of OPTION_GLIBC. + (*-*-uclinux*): Define DEFAULT_LIBC and SINGLE_LIBC. + (bfin*-uclinux*, moxie-*-uclinux*, m68k-*-uclinux*): Don't define + DEFAULT_LIBC or use linux.opt. + 2010-12-20 Richard Henderson <rth@redhat.com> * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate diff --git a/gcc/config.gcc b/gcc/config.gcc index 2f75505eca1..4db688508f1 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -562,7 +562,7 @@ case ${target} in *linux*) extra_options="$extra_options linux.opt";; *) - tm_defines="$tm_defines OPTION_GLIBC=1";; + tm_defines="$tm_defines SINGLE_LIBC";; esac case $target in *-*-*android*) @@ -657,6 +657,7 @@ case ${target} in ;; *-*-uclinux*) use_gcc_stdint=wrap + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" ;; *-*-solaris2*) extra_options="${extra_options} sol2.opt" @@ -909,8 +910,6 @@ bfin*-elf*) bfin*-uclinux*) tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h glibc-stdint.h bfin/uclinux.h" tmake_file=bfin/t-bfin-uclinux - tm_defines="${tm_defines} DEFAULT_LIBC=LIBC_UCLIBC" - extra_options="${extra_options} linux.opt" use_collect2=no ;; bfin*-linux-uclibc*) @@ -992,8 +991,6 @@ moxie-*-uclinux*) tm_file="dbxelf.h elfos.h ${tm_file} linux.h glibc-stdint.h moxie/uclinux.h" extra_parts="crti.o crtn.o crtbegin.o crtend.o" tmake_file="${tmake_file} moxie/t-moxie moxie/t-moxie-softfp soft-fp/t-softfp" - tm_defines="${tm_defines} DEFAULT_LIBC=LIBC_UCLIBC" - extra_options="${extra_options} linux.opt" ;; moxie-*-rtems*) tmake_file="${tmake_file} moxie/t-moxie moxie/t-moxie-softfp soft-fp/t-softfp t-rtems" @@ -1729,8 +1726,7 @@ m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux default_m68k_cpu=68020 default_cf_cpu=5206 tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h" - tm_defines="${tm_defines} MOTOROLA=1 DEFAULT_LIBC=LIBC_UCLIBC" - extra_options="${extra_options} linux.opt" + tm_defines="${tm_defines} MOTOROLA=1" tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs" ;; m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h index 86b6594f45b..a1881c8168b 100644 --- a/gcc/config/alpha/linux.h +++ b/gcc/config/alpha/linux.h @@ -61,7 +61,11 @@ along with GCC; see the file COPYING3. If not see #undef WCHAR_TYPE #define WCHAR_TYPE "int" +#ifdef SINGLE_LIBC +#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) +#else #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) +#endif /* Determine whether the entire c99 runtime is present in the runtime library. */ diff --git a/gcc/config/linux.h b/gcc/config/linux.h index 1c4ea1c7bb0..d53468e4e2e 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h @@ -80,9 +80,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define LIB_SPEC LINUX_TARGET_LIB_SPEC /* C libraries supported on Linux. */ +#ifdef SINGLE_LIBC +#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) +#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) +#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) +#else #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) +#endif #define LINUX_TARGET_OS_CPP_BUILTINS() \ do { \ diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h index 464cd8ee430..ed1d09ec14d 100644 --- a/gcc/config/rs6000/linux.h +++ b/gcc/config/rs6000/linux.h @@ -27,7 +27,11 @@ /* We use glibc _mcount for profiling. */ #define NO_PROFILE_COUNTERS 1 +#ifdef SINGLE_LIBC +#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) +#else #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) +#endif /* glibc has float and long double forms of math functions. */ #undef TARGET_C99_FUNCTIONS diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 20bd257975c..06e08a108c6 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -308,7 +308,11 @@ extern int dot_symbols; process. */ #define OS_MISSING_POWERPC64 !TARGET_64BIT +#ifdef SINGLE_LIBC +#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) +#else #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) +#endif /* glibc has float and long double forms of math functions. */ #undef TARGET_C99_FUNCTIONS |