This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: requiring GCC >= 4.7 to build glibc


On Thu, 20 Aug 2015, Mike Frysinger wrote:

> On 20 Aug 2015 13:51, Joseph Myers wrote:
> > For glibc 2.21 we increased the minimum GCC version for building glibc to 
> > 4.6.  There's one major GCC release a year, so the correspondingly old 
> > version for glibc 2.23 would be GCC 4.7.  What do people think about 
> > increasing the minimum version requirement?
> 
> i'd like to see the diff (not exact, but at least get an idea).
> the bullet points below don't seem terribly compelling to me.

Here is a 14-patch series for requiring GCC 4.7 and making consequent
cleanups.  I have't written ChangeLog entries or other write-ups for
individual patches, or tested the individual patches on their own, or
done non-x86_64 testing where applicable, or done comparisons of
installed shared libraries to make sure there aren't unexpected
changes, but it should be illustrative of what requiring GCC 4.7 would
enable (which I think is more than most such version increments).

None of these changes should have any effects on binutils version
requirements, as binutils 2.22 supports both AVX2 and ARM TLS
descriptors (although I think a move to requiring 2.23 makes sense on
general principles of time-based updates to such requirements).

1. Require GCC >= 4.7 to build glibc.
2. Use -std-gnu11 instead of -std=gnu99.
3. Use -std=c11 for C11 conform/ tests.
4. Remove pre-GCC-4.7 conform/ test XFAILs.
5. Add -std=gnu11 and -std=c11 NPTL initializers tests.
6. Use C11 *_TRUE_MIN macros where applicable.
7. Use C11 *_DECIMAL_DIG macros in libm-test.inc.
8. Use C11 CMPLX* macros in libm tests.
9. Remove MIPS16 atomics using __sync_* (bug 17404).
10. Remove GCC version conditionals on -Wmaybe-uninitialized pragmas.
11. Remove miscellaneous GCC >= 4.7 version conditionals.
12. Remove configure tests for AVX2 support.
13. Remove configure test for ARM TLS descriptors support.
14. Use max_align_t from <stddef.h>.

-- 
Joseph S. Myers
joseph@codesourcery.com

Attachment: 01-require-47
Description: Text document

Attachment: 02-use-gnu11
Description: Text document

Attachment: 03-use-c11
Description: Text document

Attachment: 04-conform-xfail
Description: Text document

Attachment: 05-nptl-initializers
Description: Text document

Attachment: 06-true-min
Description: Text document

Attachment: 07-decimal-dig
Description: Text document

Attachment: 08-cmplx
Description: Text document

Attachment: 09-mips16-17404
Description: Text document

Attachment: 10-wmaybe-uninitialized
Description: Text document

Attachment: 11-gnuc-prereq-misc
Description: Text document

Attachment: 12-avx2
Description: Text document

Attachment: 13-arm-tlsdesc
Description: Text document

Attachment: 14-max-align-t
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]