glibc/sysdeps
Carlos O'Donell a01f19c8fb i386: Fail at configure time for i386 builds.
This change does two things:

* Treats a target i386-* as if it were i686.
* Fails configure if the user is generating code
  for i386.

We no longer support i386 code-generation because the i386
lacks the atomic operations we need in glibc.

You can still configure for i386-*, but you get i686 code.

You can't build with --march=i386, --mtune=i386 or a compiler
that defaults to i386 code-generation.

I've added two i386 entries in the master todo list to discuss
merging and renaming:
http://sourceware.org/glibc/wiki/Development_Todo/Master#i386

The failure modes are fail-safe here. You compile for i386,
get i686, and try to run on i386 and it fails. The configure
log has a warning saying we elided to i686. There is no situation
that I can see where we run into any serious problems.

The patch makes the current state better in that we get less
confused users and we build successfully in more default
configurations.

The next enhancement would be to add --march=i?86
as suggested in #c20 of BZ#10062 for any i?86-* builds, which
would solve the problem of a 32-bit compiler that defaults to
i386 code-gen and glibc configured for i686-* target. Which
previously failed at build time, and now will fail at configure
time (requires adding --march=i686).

Updated NEWS with BZ #10060 and #10062.

No regressions.

---

2013-04-06  Carlos O'Donell  <carlos@redhat.com>

	[BZ #10060, #10062]
	* aclocal.m4 (LIBC_COMPILER_BUILTIN_INLINED): New macro.
	* sysdeps/i386/configure.in: Use LIBC_COMPILER_BUILTIN_INLINED and
	fail configure if __sync_val_compare_and_swap is not inlined.
	* sysdeps/i386/configure: Regenerate.
	* configure.in: Build for i686 when configured for i386.
	* configure: Regenerate.
	* README: Remove i386 reference.
2013-04-06 12:00:35 -04:00
..
generic New <math.h> macro named issignaling to check for a signaling NaN (sNaN). 2013-04-02 13:51:02 +02:00
gnu s390x: Move rtld link to /lib 2013-03-19 12:08:35 +01:00
i386 i386: Fail at configure time for i386 builds. 2013-04-06 12:00:35 -04:00
ieee754 [BZ #14686, #15336] Fix standard compliance. Don't use hard-coded qNaN values. 2013-04-05 22:34:52 +02:00
init_array Add sysdeps/init_array to produce empty crt[in].o and use .preinit_array for gcrt1.o 2013-03-12 12:50:13 -07:00
mach Use __ehdr_start, if available, as fallback for AT_PHDR. 2013-03-28 16:15:48 -07:00
posix Fix stack overflow in getaddrinfo with many results 2013-04-03 17:39:15 +02:00
powerpc Refer to two GCC PRs. 2013-04-03 14:13:44 +02:00
pthread Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
s390 s390/s390x: Undef PSEUDO before redef. 2013-04-06 10:53:54 -04:00
sh Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
sparc Update sparc ULPs. 2013-03-22 13:29:31 -07:00
unix Preserve errno across _PC_CHOWN_RESTRICTED call on XFS 2013-04-03 10:56:45 +05:30
wordsize-32 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
wordsize-64 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
x86 Remove miscellaneous bounded-pointers relics in C code. 2013-02-15 00:51:53 +00:00
x86_64 Fix cacosh inaccuracy and spurious exceptions (bug 15327). 2013-04-02 22:54:00 +00:00