buildrootschalter/toolchain/uClibc
Thomas Petazzoni 8e55f03a54 Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:

 * o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
   of the instruction set.
 * n32 is for 64-bits CPUs only. It has 32-bits pointers and long
   integers.
 * n64 is for 64-bits CPUs only. It has 64-bits pointers and long
   integers.

See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.

So, this commit reworks the Buildroot MIPS support by:

 * Add separate mips64/mips64el top-level architectures.

 * Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
   with BR2_MIPS_OABI32.

 * Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
   with BR2_MIPS_OABI32.

 * Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
   since those ABIs are valid on 64-bits CPUs only.

 * Removing the o64 ABI, which is practicaly never used.

 * Removing the "none" ABI, which really doesn't make sense.

 * Introduce the mips64 and mips64el architecture names when a 64-bits
   MIPS ABI is choosen. This will fix build issue like
   http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
   where gmp was confused by the fact of having a 32 bits architecture
   (detected by the mips- architecture part of the tuple) but 64 bits
   integer size when compiling.

 * Adjust the uclibc.mk logic to support the new mips64/mips64el
   architecture names, and take into account the renaming of the ABI
   options.

This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.

This work is originally based on prior work done by Gustavo Zacarias.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 22:03:55 +02:00
..
Config.in uClibc: bump 0.9.33.x stable version 2012-05-15 11:46:39 +02:00
uClibc-0.9.31.1-add-bsd-endian-conversions.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-add-inotify-init1.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-add-sock-cloexec.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-export-strverscmp.patch uClibc 0.9.31.1: add patch to export strverscmp for real 2011-11-02 12:11:17 +01:00
uClibc-0.9.31.1-fix-daylight-saving-time-handling.patch uClibc: add patches to fix daylight saving issues 2011-11-02 12:10:36 +01:00
uClibc-0.9.31.1-fix-error-locale-utf-8.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-fix-fcntl64-for-64-bit-targets.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-linuxthreads-errno-fix.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-more-workarounds-GCC-PR32219.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-powerpc-ptrace-fix.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-quad-routines.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.1-sparc-errno-fix.patch uClibc: fix sparc build breakage 2011-11-17 06:57:19 +01:00
uClibc-0.9.31.1-unshare.patch uClibc: add unshare() syscall support 2011-12-07 21:53:28 +01:00
uClibc-0.9.31.1-workaround-GCC-PR32219.patch uClibc: bump 0.9.31.x version 2011-06-09 10:18:05 +02:00
uClibc-0.9.31.config toolchain/uClibc: enable UCLIBC_SUPPORT_AI_ADDRCONFIG 2012-05-03 15:54:05 +02:00
uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch uClibc: bump 0.9.32.x version to 0.9.32.1 2012-01-02 15:09:31 +01:00
uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch uClibc: bump 0.9.32.x version to 0.9.32.1 2012-01-02 15:09:31 +01:00
uClibc-0.9.32.1-linuxthreads-errno-fix.patch uClibc: bump 0.9.32.x version to 0.9.32.1 2012-01-02 15:09:31 +01:00
uClibc-0.9.32.1-sparc-errno-fix.patch uClibc: bump 0.9.32.x version to 0.9.32.1 2012-01-02 15:09:31 +01:00
uClibc-0.9.32.1-unshare.patch uClibc: bump 0.9.32.x version to 0.9.32.1 2012-01-02 15:09:31 +01:00
uClibc-0.9.32.config toolchain/uClibc: enable UCLIBC_SUPPORT_AI_ADDRCONFIG 2012-05-03 15:54:05 +02:00
uClibc-0.9.33.2-define-MSG_CMSG_CLOEXEC.patch uClibc: bump 0.9.33.x stable version 2012-05-15 11:46:39 +02:00
uClibc-0.9.33.2-dup3.patch uClibc: bump 0.9.33.x stable version 2012-05-15 11:46:39 +02:00
uClibc-0.9.33.config toolchain/uClibc: enable UCLIBC_SUPPORT_AI_ADDRCONFIG 2012-05-03 15:54:05 +02:00
uClibc-snapshot.config toolchain/uClibc: enable UCLIBC_SUPPORT_AI_ADDRCONFIG 2012-05-03 15:54:05 +02:00
uclibc.mk Clarify MIPS ABIs support 2012-09-04 22:03:55 +02:00
uClibc.snapshot.linuxthreads-errno-fix.patch uClibc: remove trailer from linuxthreads-errno patches confusing modern patch 2011-11-24 22:29:46 +01:00