Add support for Bionic C library
commit74c7025321da74e985e225350c32edd3996a4a1e
authorMaxim Kuvyrkov <maxim@codesourcery.com>
Thu, 27 May 2010 11:54:48 +0000 (27 11:54 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Thu, 27 May 2010 11:54:48 +0000 (27 11:54 +0000)
treef583a304408b8d7b266afd0bba3b9cd4657fcb85
parent3ef0694cb173c80c3466885de23fa937c8903653
Add support for Bionic C library

Add support for Bionic C library
gcc/
* config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
macro.
(DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
(bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.

* config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
(LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
(CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
to support multiple C libraries.  Handle Bionic.
(BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
(BIONIC_DYNAMIC_LINKER64): Define.
(LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
Update.
(TARGET_HAS_SINCOS): Enable for Bionic.

* config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
the last option specified on command line take effect.
(linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
(mbionic): New.
(mglibc, muclibc): Update.

* config/alpha/linux-elf.h, config/rs6000/linux64.h,
* config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
DEFAULT_LIBC.

* doc/invoke.texi (-mglibc, -muclibc): Update.
(-mbionic): Document.

gcc/testsuite/
* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: Remove, no longer
necessary.

From-SVN: r159917
gcc/ChangeLog
gcc/config.gcc
gcc/config/alpha/linux-elf.h
gcc/config/linux.h
gcc/config/linux.opt
gcc/config/rs6000/linux64.h
gcc/config/rs6000/sysv4.h
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/glibc-uclibc-1.c [deleted file]
gcc/testsuite/gcc.dg/glibc-uclibc-2.c [deleted file]