about summary refs log tree commit diff
path: root/scripts/build-many-glibcs.py
Commit message (Collapse)AuthorAgeFilesLines
* Use Linux 6.8 in build-many-glibcs.pyJoseph Myers2024-03-131-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.8. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* build-many-glibcs.py: Add s390 --disable-multi-arch / multi-arch configurations.Stefan Liebler2024-02-211-1/+16
| | | | | | | | This patch adds some --disable-multi-arch variants for s390x. As the used IFUNC variants and __GI symbols depend on the used gcc -march=cpu-level, there are multiple new configurations. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* build-many-glibcs: relax version check to allow non-digit charactersFangrui Song2024-01-311-9/+7
| | | | | | | | | | | | | A version string may contain non-digit characters, commonly found in built-from-VCS tools, e.g. ``` git version 2.39.GIT git version 2.43.0.493.gbc7ee2e5e1 ``` `int()` will raise a ValueError, leading to a spurious 'missing'. Reviewed-by: DJ Delorie <dj@redhat.com>
* Use binutils 2.42 branch in build-many-glibcs.pyJoseph Myers2024-01-301-1/+1
| | | | | | | This patch makes build-many-glibcs.py use binutils 2.42 branch. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use --disable-default-pie for sparc in build-many-glibcs.pyAdhemerval Zanella2024-01-221-4/+6
| | | | | | | | The staticcally built binaries fails without this option [1]. Checked on sparc64-linux-gnu and sparcv9-linux-gnu. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=29575
* Further build-many-glibcs.py fixes for utcnow() deprecationJoseph Myers2024-01-191-9/+14
| | | | | | | | | | | | | | | | | | | | | | | It turns out that the replacement of datetime.datetime.utcnow(), for a warning produced early in running build-many-glibcs.py with Python 3.12, (a) wasn't complete (there were other uses elsewhere in the script also needing updating) and (b) broke reading of build-time from build-state.json, because an aware datetime was written out including +00:00 for the timezone, which was not expected by the strptime call. Fix the first by making the change to datetime.datetime.now(datetime.timezone.utc) for all the remaining utcnow() calls. Fix the second by using strftime with an explicit format instead of just str() when formatting build times for build-state.json and and email subjects, and then setting the timezone explicitly when reading from build-state.json. (Other uses, in particular messages output by the bot, continue to use str() as the precise format should not matter in those cases; it shouldn't actually matter for email subjects either but it seems a good idea to keep those short.) Tested with a bot-cycle run and checking the format of times in build-state.json afterwards.
* Use Linux 6.7 in build-many-glibcs.pyJoseph Myers2024-01-171-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.7. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Fix deprecated utcnow() usage in build-many-glibcs.pyJoseph Myers2024-01-101-1/+1
| | | | | | | | | | | | Running build-many-glibcs.py with Python 3.12 or later produces a warning: build-many-glibcs.py:566: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). build_time = datetime.datetime.utcnow() Replace with datetime.datetime.now(datetime.timezone.utc) (the datetime.UTC constant is new in 3.11, so not suitable for use in this script at present).
* Fix invalid escape sequence in build-many-glibcs.pyJoseph Myers2024-01-101-1/+1
| | | | | | | | | | | | Running build-many-glibcs.py with Python 3.12 or later produces a warning: build-many-glibcs.py:173: SyntaxWarning: invalid escape sequence '\.' m = re.fullmatch('([0-9]+)\.([0-9]+)[.0-9]*', l) Use a raw string instead to avoid that warning. (Note: I haven't checked whether any other Python scripts included with glibc might have issues with newer Python versions.)
* Remove ia64-linux-gnuAdhemerval Zanella2024-01-081-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux 6.7 removed ia64 from the official tree [1], following the general principle that a glibc port needs upstream support for the architecture in all the components it depends on (binutils, GCC, and the Linux kernel). Apart from the removal of sysdeps/ia64 and sysdeps/unix/sysv/linux/ia64, there are updates to various comments referencing ia64 for which removal of those references seemed appropriate. The configuration is removed from README and build-many-glibcs.py. The CONTRIBUTED-BY, elf/elf.h, manual/contrib.texi (the porting mention), *.po files, config.guess, and longlong.h are not changed. For Linux it allows cleanup some clone2 support on multiple files. The following bug can be closed as WONTFIX: BZ 22634 [2], BZ 14250 [3], BZ 21634 [4], BZ 10163 [5], BZ 16401 [6], and BZ 11585 [7]. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43ff221426d33db909f7159fdf620c3b052e2d1c [2] https://sourceware.org/bugzilla/show_bug.cgi?id=22634 [3] https://sourceware.org/bugzilla/show_bug.cgi?id=14250 [4] https://sourceware.org/bugzilla/show_bug.cgi?id=21634 [5] https://sourceware.org/bugzilla/show_bug.cgi?id=10163 [6] https://sourceware.org/bugzilla/show_bug.cgi?id=16401 [7] https://sourceware.org/bugzilla/show_bug.cgi?id=11585 Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* Update copyright dates with scripts/update-copyrightsPaul Eggert2024-01-011-1/+1
|
* Use Linux 6.6 in build-many-glibcs.pyJoseph Myers2023-10-311-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.6. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* crypt: Remove libcrypt supportAdhemerval Zanella2023-10-301-4/+1
| | | | | | | | | | | | | | | | | | All the crypt related functions, cryptographic algorithms, and make requirements are removed, with only the exception of md5 implementation which is moved to locale folder since it is required by localedef for integrity protection (libc's locale-reading code does not check these, but localedef does generate them). Besides thec code itself, both internal documentation and the manual is also adjusted. This allows to remove both --enable-crypt and --enable-nss-crypt configure options. Checked with a build for all affected ABIs. Co-authored-by: Zack Weinberg <zack@owlfolio.org> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* sparc: Remove optimize md5, sha256, and sha512Adhemerval Zanella2023-10-301-3/+1
| | | | | | | | | | The libcrypt was maked to be phase out on 2.38, and a better project already exist that provide both compatibility and better API (libxcrypt). The sparc optimizations add the burden to extra build-many-glibcs.py configurations. Checked on sparc64 and sparcv9. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* build-many-glibcs: Fix traililing whitespaceAdhemerval Zanella2023-10-301-3/+3
| | | | From commit d846c2838942297c9644f2f38bdad0fb88f42245.
* build-many-glibcs: Check for required system toolsDJ Delorie2023-10-091-0/+96
| | | | | | | | | | | Notes for future devs: * Add tools as you find they're needed, with version 0,0 * Bump version when you find an old tool that doesn't work * Don't add a version just because you know it works Co-authored-by: Lukasz Majewski <lukma@denx.de> Co-authored-by: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
* Use Linux 6.5 in build-many-glibcs.pyJoseph Myers2023-09-081-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.5. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use GMP 6.3.0, MPFR 4.2.1 in build-many-glibcs.pyJoseph Myers2023-08-291-2/+2
| | | | | | | | This patch makes build-many-glibcs.py use the new GMP 6.3.0 and MPFR 4.2.1 releases. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use binutils 2.41 branch in build-many-glibcs.pyJoseph Myers2023-08-081-1/+1
| | | | | | | This patch makes build-many-glibcs.py use binutils 2.41 branch. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* configure: Disable building libcrypt by defaultSiddhesh Poyarekar2023-07-201-2/+6
| | | | | | | | | | | | We mentioned eventual dropping of libcrypt in the 2.28 NEWS. Actually put that plan in motion by first disabling building libcrypt by default. note in NEWS that the library will be dropped completely in a future release. Also add a couple of builds into build-many-glibcs.py. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> Reviewed-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Allow glibc to be built with _FORTIFY_SOURCEFrédéric Bérat2023-07-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add --enable-fortify-source option. It is now possible to enable fortification through a configure option. The level may be given as parameter, if none is provided, the configure script will determine what is the highest level possible that can be set considering GCC built-ins availability and set it. If level is explicitly set to 3, configure checks if the compiler supports the built-in function necessary for it or raise an error if it isn't. If the configure option isn't explicitly enabled, it _FORTIFY_SOURCE is forcibly undefined (and therefore disabled). The result of the configure checks are new variables, ${fortify_source} and ${no_fortify_source} that can be used to appropriately populate CFLAGS. A dedicated patch will follow to make use of this variable in Makefiles when necessary. Updated NEWS and INSTALL. Adding dedicated x86_64 variant that enables the configuration. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* Use Linux 6.4 in build-many-glibcs.pyJoseph Myers2023-06-271-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.4. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* hurd: Enable x86_64 build scriptSamuel Thibault2023-05-021-0/+3
| | | | This now passes crossbuilds.
* Use GCC 13 branch, Linux 6.3 in build-many-glibcs.pyJoseph Myers2023-05-021-2/+2
| | | | | | | | This patch updates build-many-glibcs.py to use Linux 6.3 and GCC 13 branch by default. Tested with build-many-glibcs.py (host-libraries, compilers and glibc builds).
* mach: Disable 32bit compatibility modeSamuel Thibault2023-05-011-0/+1
| | | | | 32bit compatibility is the default for now with 64bit gnumach, until 64bit userland is ready. Here we however want native 64bit userland anyway.
* build-many-glibcs.py: --disable-gcov for gcc-firstJan-Benedict Glaw2023-04-191-0/+1
| | | | | | | | This is also being tracked n GCC [1]. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289
* Remove --enable-tunables configure optionAdhemerval Zanella Netto2023-03-291-1/+0
| | | | | | | | | | | | And make always supported. The configure option was added on glibc 2.25 and some features require it (such as hwcap mask, huge pages support, and lock elisition tuning). It also simplifies the build permutations. Changes from v1: * Remove glibc.rtld.dynamic_sort changes, it is orthogonal and needs more discussion. * Cleanup more code. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* Remove --disable-experimental-malloc optionAdhemerval Zanella2023-03-291-1/+0
| | | | | | | | | | | | | | | | | | | It is the default since 2.26 and it has bitrotten over the years, By using it multiple malloc tests fails: FAIL: malloc/tst-memalign-2 FAIL: malloc/tst-memalign-2-malloc-hugetlb1 FAIL: malloc/tst-memalign-2-malloc-hugetlb2 FAIL: malloc/tst-memalign-2-mcheck FAIL: malloc/tst-mxfast-malloc-hugetlb1 FAIL: malloc/tst-mxfast-malloc-hugetlb2 FAIL: malloc/tst-tcfree2 FAIL: malloc/tst-tcfree2-malloc-hugetlb1 FAIL: malloc/tst-tcfree2-malloc-hugetlb2 Checked on x86_64-linux-gnu. Reviewed-by: DJ Delorie <dj@redhat.com>
* Use Linux 6.2 in build-many-glibcs.pyJoseph Myers2023-02-221-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.2. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use binutils 2.40 branch in build-many-glibcs.pyJoseph Myers2023-01-271-1/+1
| | | | | | | This patch makes build-many-glibcs.py use binutils 2.40 branch. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use MPFR 4.2.0, MPC 1.3.1 in build-many-glibcs.pyJoseph Myers2023-01-271-2/+2
| | | | | | | | This patch makes build-many-glibcs.py use the new MPFR 4.2.0 and MPC 1.3.1 releases. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* scripts/build-many-glibcs.py: Remove unused RANLIB and STRIP optionAdhemerval Zanella2023-01-121-2/+0
| | | | Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* configure: Move nm, objdump, and readelf to LIBC_PROG_BINUTILSAdhemerval Zanella2023-01-121-3/+0
| | | | | | Allow the variables to be overriden or have the defaults come from the compiler currently in use. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* configure: Allow user override LD, AR, OBJCOPY, and GPROFAdhemerval Zanella2023-01-111-3/+0
| | | | | | | | | | | | The only way to override LD, AR, OBJCOPY, and GPROF is through --with-binutils (setting the environments variables on configure is overridden by LIBC_PROG_BINUTILS). The build-many-glibcs.py (bmg) glibcs option generates a working config, but not fully concise (some tools will be set from environment variable, while other will be set from $CC --print-prog-name). So remove the environment variable set to always use the "$CC --print-prog-name". Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* Update copyright dates with scripts/update-copyrightsJoseph Myers2023-01-061-1/+1
|
* Use Linux 6.1 in build-many-glibcs.pyJoseph Myers2022-12-191-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.1. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* configure: Remove AS checkAdhemerval Zanella2022-12-061-1/+0
| | | | | | The assembler is not issued directly, but rather always through CC wrapper. The binutils version check if done with LD instead. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* Use Linux 6.0 in build-many-glibcs.pyJoseph Myers2022-10-041-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 6.0. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* scripts/build-many-glibcs.py: Use https:// for sourceware.org Git clonesFlorian Weimer2022-09-051-3/+3
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* LoongArch: Add soft float support.caiyinyu2022-09-011-0/+4
|
* Use binutils 2.39 branch in build-many-glibcs.pyJoseph Myers2022-08-181-1/+1
| | | | | | | | | This patch makes build-many-glibcs.py use binutils 2.39 branch. Tested with build-many-glibcs.py (compilers and glibcs builds). Note: binutils 2.39 shows the same failures for i686-linux-gnu-no-pie, x86_64-linux-gnu-no-pie and x86_64-linux-gnu-x32-no-pie building the glibc testsuite as binutils mainline does.
* Use Linux 5.19 in build-many-glibcs.pyJoseph Myers2022-08-021-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 5.19. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* LoongArch: Update build-many-glibcs.py for the LoongArch Port.caiyinyu2022-07-261-0/+5
|
* Use GCC 12 branch in build-many-glibcs.pyJoseph Myers2022-07-041-1/+1
| | | | | | | This patch makes build-many-glibcs.py use GCC 12 branch by default. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use Linux 5.18 in build-many-glibcs.pyJoseph Myers2022-05-241-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 5.18. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use Linux 5.17 in build-many-glibcs.pyJoseph Myers2022-03-221-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 5.17. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* Use binutils 2.38 branch in build-many-glibcs.pyJoseph Myers2022-02-101-1/+1
| | | | | | This patch makes build-many-glibcs.py use binutils 2.38 branch. Tested with build-many-glibcs.py (compilers and glibcs builds).
* Use Linux 5.16 in build-many-glibcs.pyJoseph Myers2022-01-111-1/+1
| | | | | | | This patch makes build-many-glibcs.py use Linux 5.16. Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
* build-many-glibcs.py: add OpenRISC supportStafford Horne2022-01-051-0/+5
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* Update copyright dates with scripts/update-copyrightsPaul Eggert2022-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | I used these shell commands: ../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright (cd ../glibc && git commit -am"[this commit message]") and then ignored the output, which consisted lines saying "FOO: warning: copyright statement not found" for each of 7061 files FOO. I then removed trailing white space from math/tgmath.h, support/tst-support-open-dev-null-range.c, and sysdeps/x86_64/multiarch/strlen-vec.S, to work around the following obscure pre-commit check failure diagnostics from Savannah. I don't know why I run into these diagnostics whereas others evidently do not. remote: *** 912-#endif remote: *** 913: remote: *** 914- remote: *** error: lines with trailing whitespace found ... remote: *** error: sysdeps/unix/sysv/linux/statx_cp.c: trailing lines