diff options
225 files changed, 5287 insertions, 681 deletions
diff --git a/.github/workflows/build-toolchains.yml b/.github/workflows/build-toolchains.yml index 3b792200..8634f83f 100644 --- a/.github/workflows/build-toolchains.yml +++ b/.github/workflows/build-toolchains.yml @@ -18,25 +18,25 @@ jobs: runs-on: ${{ matrix.host }} strategy: matrix: - host: [ "ubuntu-latest", "macos-10.15" ] + host: ["ubuntu-22.04", "macos-latest"] sample: ${{ fromJSON(inputs.samples) }} exclude: # Exclude both glibc & uClibc ARC Linux toolchains as # there's no known use of ARC Linux toolchains on Mac, # and anyway glibc fails to build for ARC700, # see https://github.com/crosstool-ng/crosstool-ng/pull/1456#issuecomment-779150246 - - { host: "macos-10.15", sample: "arc-multilib-linux-gnu" } - - { host: "macos-10.15", sample: "arc-multilib-linux-uclibc" } + - {host: "macos-latest", sample: "arc-multilib-linux-gnu"} + - {host: "macos-latest", sample: "arc-multilib-linux-uclibc"} # Exclude mips*-*-linux-gnu because of <byteswap.h> usage in # elf-entry.c for linux kernel headers. <byteswap.h> is a GNU # extension and doesn't exist on MacOS X - - { host: "macos-10.15", sample: "mips-unknown-linux-gnu" } - - { host: "macos-10.15", sample: "mips64-unknown-linux-gnu" } + - {host: "macos-latest", sample: "mips-unknown-linux-gnu"} + - {host: "macos-latest", sample: "mips64-unknown-linux-gnu"} # Exclude x86_64-w64-mingw32,x86_64-pc-linux-gnu because it crashes on m4 build with # a Segmentation fault - - { host: "macos-10.15", sample: "x86_64-w64-mingw32,x86_64-pc-linux-gnu" } + - {host: "macos-latest", sample: "x86_64-w64-mingw32,x86_64-pc-linux-gnu"} steps: - name: create case sensitive workspace volume for macOS if: ${{ runner.os == 'macOS' }} @@ -47,14 +47,14 @@ jobs: hdiutil mount ${HOME}/Workspace.sparseimage -mountroot /Users/runner/work/crosstool-ng cd crosstool-ng - name: download ct-ng - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: crosstool.${{ matrix.host }} - name: extract ct-ng run: | tar -xf ct-ng.tar - name: download tarballs - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: src.tar - name: extract tarballs @@ -63,7 +63,7 @@ jobs: - name: prereq Linux if: ${{ runner.os == 'Linux' }} run: | - sudo apt-get install -y gperf help2man libtool-bin + sudo apt-get install -y gperf help2man libtool-bin meson ninja-build echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH - name: prereq macOS if: ${{ runner.os == 'macOS' }} @@ -73,7 +73,7 @@ jobs: echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH - name: download x86_64-w64-mingw32.${{ matrix.host }} tarball if: ${{ inputs.canadian-cross }} - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: x86_64-w64-mingw32.${{ matrix.host }}.tar - name: install x86_64-w64-mingw32.${{ matrix.host }} toolchain @@ -90,6 +90,7 @@ jobs: sed -i -e '/CT_LOG_PROGRESS_BAR/s/y$/n/' .config sed -i -e '/CT_LOCAL_TARBALLS_DIR/s/HOME/CT_TOP_DIR/' .config sed -i -e '/CT_PREFIX_DIR/s/HOME/CT_TOP_DIR/' .config + test ${{ matrix.host }} = "macos-latest" && sed -i -e '/CT_GDB_CROSS_PYTHON/s/y$/n/' .config ct-ng build - name: create ${{ matrix.sample }}.${{ matrix.host }} tarball if: ${{ matrix.sample == 'x86_64-w64-mingw32' }} @@ -98,13 +99,13 @@ jobs: -cf ${{ matrix.sample }}.${{ matrix.host }}.tar . - name: upload ${{ matrix.sample }}.${{ matrix.host }} tarball if: ${{ matrix.sample == 'x86_64-w64-mingw32' }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: x86_64-w64-mingw32.${{ matrix.host }}.tar path: | x86_64-w64-mingw32.${{ matrix.host }}.tar - name: upload log - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ matrix.sample }}.${{ matrix.host }}.log path: | diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index fe7da0fb..c5696f5f 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -9,14 +9,14 @@ jobs: runs-on: ${{ matrix.host }} strategy: matrix: - host: [ "ubuntu-latest", "macos-10.15" ] + host: ["ubuntu-22.04", "macos-latest"] steps: - name: "clone" - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: "prereq Linux" if: ${{ runner.os == 'Linux' }} run: | - sudo apt-get install -y gperf help2man libtool-bin + sudo apt-get install -y gperf help2man libtool-bin meson ninja-build - name: "prereq macOS" if: ${{ runner.os == 'macOS' }} run: | @@ -35,12 +35,12 @@ jobs: make install tar -cf ct-ng.tar .local/ - name: "upload ct-ng" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: crosstool.${{ matrix.host }} path: ct-ng.tar - name: "upload config.log" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: config.log.${{ matrix.host }} path: config.log @@ -51,10 +51,10 @@ jobs: runs-on: ${{ matrix.host }} strategy: matrix: - host: [ "ubuntu-latest" ] + host: ["ubuntu-22.04"] steps: - name: "download ct-ng" - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: crosstool.${{ matrix.host }} - name: "extract ct-ng" @@ -69,7 +69,8 @@ jobs: run: | mkdir -p src for sample in aarch64-unknown-linux-gnu arm-picolibc-eabi \ - arm-unknown-linux-musleabi armv6-nommu-linux-uclibcgnueabi; do \ + arm-unknown-linux-musleabi armv6-nommu-linux-uclibcgnueabi \ + x86_64-w64-mingw32; do \ ct-ng $sample; \ sed -i -e '/CT_LOG_PROGRESS_BAR/s/y$/n/' .config; \ sed -i -e '/CT_LOCAL_TARBALLS_DIR/s/HOME/CT_TOP_DIR/' .config; \ @@ -82,13 +83,13 @@ jobs: done tar -cvf src.tar src - name: "upload sources" - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: src.tar path: src.tar toolchains: - needs: [ crosstool, tarballs ] + needs: [crosstool, tarballs] uses: ./.github/workflows/build-toolchains.yml with: samples: >- @@ -103,6 +104,7 @@ jobs: "armv6-nommu-linux-uclibcgnueabi", "avr", "i686-w64-mingw32", + "loongarch64-unknown-linux-gnu", "mips-unknown-elf", "mips-unknown-linux-gnu", "mips64-unknown-linux-gnu", @@ -120,7 +122,7 @@ jobs: ] canadian-cross: - needs: [ toolchains ] + needs: [toolchains] uses: ./.github/workflows/build-toolchains.yml with: samples: >- @@ -1,3 +1,8 @@ +# Backup files +*.bak +*~ +*.swp + # Generated files configure autom4te.cache @@ -33,6 +38,9 @@ build.log temp.* stamp-h1 +# MacOS +.DS_Store + # Testing testing/docker/*/build testing/docker/*/install @@ -1,4 +1,5 @@ #!/usr/bin/env bash +# vi: ts=4:sw=4:et if [ "${BASH_VERSINFO[0]}" -lt 4 ]; then echo "Your BASH shell version (${BASH_VERSION}) is too old." >&2 @@ -470,15 +471,15 @@ sort_versions() #debug "${v} vs ${vx} :: `cmp_versions ${v} ${vx}`" case `cmp_versions ${v} ${vx}` in 1) - next_remains+=" ${vx}" - ;; + next_remains+=" ${vx}" + ;; 0) - ;; + ;; -1) - found=no - #debug "Bad: earlier than ${vx}" - break - ;; + found=no + #debug "Bad: earlier than ${vx}" + break + ;; esac done if [ "${found}" = "yes" ]; then @@ -823,7 +824,7 @@ msg "*** Gathering the list of data files to install" continue fi echo " \\" - echo -n " ${f}" + echo -en "\t${f}" seen_files[${f}]=y done } > verbatim-data.mk diff --git a/config/arch/arm.in b/config/arch/arm.in index 07ad5ed2..e50ec376 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -9,13 +9,14 @@ ## select ARCH_SUPPORTS_FLAT_FORMAT ## select ARCH_SUPPORTS_EITHER_ENDIAN ## select ARCH_DEFAULT_LE -## select ARCH_SUPPORTS_WITH_ARCH -## select ARCH_SUPPORTS_WITH_CPU +## select ARCH_SUPPORTS_WITH_ARCH if !(MULTILIB && ARCH_32) +## select ARCH_SUPPORTS_WITH_CPU if !(MULTILIB && ARCH_32) ## select ARCH_EXCLUSIVE_WITH_CPU -## select ARCH_SUPPORTS_WITH_TUNE -## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 -## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 -## select ARCH_SUPPORTS_SOFTFP if ARCH_32 +## select ARCH_SUPPORTS_WITH_TUNE if !(MULTILIB && ARCH_32) +## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 && !MULTILIB +## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 && !MULTILIB +## select ARCH_SUPPORTS_SOFTFP if ARCH_32 && !MULTILIB +## select ARCH_SUPPORTS_LIBSANITIZER ## select LINUX_REQUIRE_3_7_or_later if ARCH_64 && KERNEL_LINUX ## help The ARM architecture, as defined by: @@ -26,11 +27,13 @@ config ARCH_ARM_MODE string default "arm" if ARCH_ARM_MODE_ARM default "thumb" if ARCH_ARM_MODE_THUMB + depends on !MULTILIB choice bool prompt "Default instruction set mode" default ARCH_ARM_MODE_ARM + depends on !MULTILIB config ARCH_ARM_MODE_ARM bool @@ -49,6 +52,7 @@ endchoice config ARCH_ARM_INTERWORKING bool prompt "Use Thumb-interworking (READ HELP)" + depends on !MULTILIB help Excerpt from the gcc manual: diff --git a/config/arch/bpf.in b/config/arch/bpf.in new file mode 100644 index 00000000..9d0d7373 --- /dev/null +++ b/config/arch/bpf.in @@ -0,0 +1,9 @@ +# BPF specific configuration file + +## no-package +## select ARCH_SUPPORTS_EITHER_ENDIAN +## select ARCH_DEFAULT_LE +## select GCC_VERY_NEW +## select BINUTILS_VERY_NEW +## +## help The BPF architecture. diff --git a/config/arch/loongarch.in b/config/arch/loongarch.in new file mode 100644 index 00000000..6218c33d --- /dev/null +++ b/config/arch/loongarch.in @@ -0,0 +1,19 @@ +# LoongArch specific config options + +## no-package +## depends on EXPERIMENTAL +## +## select ARCH_SUPPORTS_64 +## select ARCH_DEFAULT_64 +## select ARCH_SUPPORTS_BOTH_MMU +## select ARCH_SUPPORTS_WITH_ABI +## select ARCH_SUPPORTS_WITH_ARCH +## select ARCH_SUPPORTS_WITH_TUNE +## select GCC_REQUIRE_12_or_later +## select BINUTILS_REQUIRE_2_39_or_later +## select LINUX_REQUIRE_5_19_or_later +## select GDB_REQUIRE_12_1_or_later if DEBUG_GDB +## select GLIBC_REQUIRE_2_36_or_later if LIBC_GLIBC + +## help The LoongArch architecture, as defined by: +## help https://loongson.github.io/LoongArch-Documentation/README-EN.html diff --git a/config/arch/mips.in b/config/arch/mips.in index ad8b1c64..a8c15c33 100644 --- a/config/arch/mips.in +++ b/config/arch/mips.in @@ -10,6 +10,7 @@ ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT +## select ARCH_SUPPORTS_LIBSANITIZER if (!ARCH_64 || GCC_12_or_later) ## help The MIPS architecture, as defined by: ## help http://www.mips.com/ diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in index bb75ac0e..26954c88 100644 --- a/config/arch/powerpc.in +++ b/config/arch/powerpc.in @@ -12,6 +12,7 @@ ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT ## select ARCH_SUPPORTS_WITH_32_64 +## select ARCH_SUPPORTS_LIBSANITIZER ## ## help The PowerPC architecture, as defined by: ## help http://www.ibm.com/developerworks/eserver/articles/archguide.html diff --git a/config/arch/riscv.in b/config/arch/riscv.in index 6b98520c..3e6ffbfb 100644 --- a/config/arch/riscv.in +++ b/config/arch/riscv.in @@ -10,6 +10,7 @@ ## select ARCH_SUPPORTS_WITH_ABI ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE +## select ARCH_SUPPORTS_LIBSANITIZER if ARCH_64 ## select GCC_REQUIRE_7_or_later ## select BINUTILS_REQUIRE_2_28_or_later ## select GDB_REQUIRE_8_0_or_later if DEBUG_GDB diff --git a/config/arch/s390.in b/config/arch/s390.in index 64107b69..7e34451f 100644 --- a/config/arch/s390.in +++ b/config/arch/s390.in @@ -6,6 +6,7 @@ ## select ARCH_DEFAULT_32 ## select ARCH_USE_MMU ## select ARCH_SUPPORTS_WITH_FPU +## select ARCH_SUPPORTS_LIBSANITIZER ## ## help Defined by IBM in: ## help 32-bit ESA/390 : http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar008/CCONTENTS diff --git a/config/arch/sparc.in b/config/arch/sparc.in index fe46eaae..14d37e73 100644 --- a/config/arch/sparc.in +++ b/config/arch/sparc.in @@ -11,6 +11,7 @@ ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT ## select ARCH_SUPPORTS_WITH_32_64 if GCC_6_or_later +## select ARCH_SUPPORTS_LIBSANITIZER ## ## help The SUN SPARC architecture, as defined by: ## help 32 bit: http://www.sparc.org/standards/V8.pdf diff --git a/config/arch/x86.in b/config/arch/x86.in index ec166557..cfdb1824 100644 --- a/config/arch/x86.in +++ b/config/arch/x86.in @@ -9,6 +9,7 @@ ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_32_64 +## select ARCH_SUPPORTS_LIBSANITIZER if ARCH_64 ## ## help The x86 architecture, as defined by: ## help 32-bit (ia32) : http://www.intel.com/ diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index 286ed4b5..f9b0c096 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -24,6 +24,12 @@ config BINUTILS_FORCE_LD_BFD_DEFAULT config BINUTILS_FORCE_LD_BFD_ONLY bool +# Binutils 2.39 requires bison 3.0.4 or later for gprofng on x86/aarch64 +config BINUTILS_DEP_BISON + def_bool y + depends on BINUTILS_2_39_or_later && !CONFIGURE_has_bison_3_0_4_or_newer && (ARCH_X86 || (ARCH_ARM && ARCH_64)) + select COMP_TOOLS_BISON + choice bool prompt "Linkers to enable" @@ -178,6 +184,11 @@ config BINUTILS_FOR_TARGET_BFD prompt "libbfd" default y +config BINUTILS_FOR_TARGET_OPCODES + bool + prompt "libopcodes" + default y + endif # BINUTILS_FOR_TARGET if ARCH_BINFMT_FLAT diff --git a/config/cc.in b/config/cc.in index abc68773..068d445a 100644 --- a/config/cc.in +++ b/config/cc.in @@ -20,6 +20,9 @@ config CC_SUPPORT_ADA config CC_SUPPORT_D bool +config CC_SUPPORT_JIT + bool + config CC_SUPPORT_OBJC bool @@ -53,6 +56,17 @@ config CC_LANG_FORTRAN Only select this if you know that your specific version of the compiler supports this language. +config CC_LANG_JIT + bool + prompt "JIT (EXPERIMENTAL)" + depends on CC_SUPPORT_JIT + depends on EXPERIMENTAL + help + Enable building the GCC JIT library. + + Only select this if you know that your specific version of the + compiler supports the libgccjit. + if ! BARE_METAL config CC_LANG_JAVA @@ -67,7 +81,7 @@ config CC_LANG_JAVA config CC_LANG_ADA bool - prompt "ADA (EXPERIMENTAL)" + prompt "Ada (EXPERIMENTAL)" depends on CC_SUPPORT_ADA depends on EXPERIMENTAL help diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 037291fe..d5b19c79 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -5,6 +5,7 @@ ## select CC_SUPPORT_JAVA if !GCC_7_or_later && OBSOLETE ## select CC_SUPPORT_ADA ## select CC_SUPPORT_D +## select CC_SUPPORT_JIT ## select CC_SUPPORT_OBJC ## select CC_SUPPORT_OBJCXX ## select CC_SUPPORT_GOLANG @@ -81,6 +82,7 @@ config CC_GCC_MULTILIB_LIST string "List of multilib variants" depends on MULTILIB default "m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single" if GCC_11_or_later && ARCH_SH + default "aprofile,rmprofile" if ARCH_ARM && ARCH_32 help Architecture-specific option of expanding or restricting the list of the multilib variants to be built. Refer to GCC installation manual @@ -196,6 +198,18 @@ config CC_GCC_LTO_ZSTD #----------------------------------------------------------------------------- comment "Settings for libraries running on target" +config CC_GCC_ENABLE_DEFAULT_PIE + bool + prompt "Enable Position Independent Executable as default" + default y + depends on GCC_6_or_later && ! WINDOWS && ! ARCH_MIPS && ! ARCH_AVR && ! ARCH_PRU + depends on !(ARCH_RISCV && BARE_METAL) + help + Pass --enable-default-pie to crossgcc's configure. + + This will let crossgcc compile executable as Position Independent + Executable by default. + config CC_GCC_ENABLE_TARGET_OPTSPACE bool prompt "Optimize gcc libs for size" @@ -257,17 +271,24 @@ config CC_GCC_LIBQUADMATH The default is 'N'. Say 'Y' if you need it, and report success/failure. config CC_GCC_LIBSANITIZER - bool + tristate prompt "Compile libsanitizer" depends on THREADS_NATIVE depends on !LIBC_UCLIBC_NG && !LIBC_MUSL # Currently lacks required headers (like netrom.h) + depends on ARCH_SUPPORTS_LIBSANITIZER help libsanitizer is a library which provides run-time sanitising of either or both of: - memory access patterns (out-of-bonds, use-after-free) - racy data accesses (in multi-threaded programs) - The default is 'N'. Say 'Y' if you need it, and report success/failure. + Option | libsanitizer | Associated ./configure switch + ---------+--------------------+-------------------------------- + Y | forcibly used | --enable-libsanitizer + M | auto | (none, ./configure decides) + N | forcibly not used | --disable-libsanitizer + + The default is 'N'. Say 'Y' or 'M' if you need it, and report success/failure. config CC_GCC_LIBMPX bool @@ -285,7 +306,6 @@ config CC_GCC_LIBSTDCXX_VERBOSE default n if BARE_METAL default m if !BARE_METAL prompt "Verbose libstdc++" - depends on GCC_4_8_or_later depends on CC_LANG_CXX help Write descriptive error messages on certain events. diff --git a/config/configure.in.in b/config/configure.in.in index a43fb61b..91093c2d 100644 --- a/config/configure.in.in +++ b/config/configure.in.in @@ -36,14 +36,14 @@ config CONFIGURE_has_libtool_2_4_or_newer config CONFIGURE_has_libtoolize_2_4_or_newer @KCONFIG_libtoolize_2_4_or_newer@ -config CONFIGURE_has_autoconf_2_65_or_newer - @KCONFIG_autoconf_2_65_or_newer@ +config CONFIGURE_has_autoconf_2_71_or_newer + @KCONFIG_autoconf_2_71_or_newer@ -config CONFIGURE_has_autoreconf_2_65_or_newer - @KCONFIG_autoreconf_2_65_or_newer@ +config CONFIGURE_has_autoreconf_2_71_or_newer + @KCONFIG_autoreconf_2_71_or_newer@ -config CONFIGURE_has_automake_1_15_or_newer - @KCONFIG_automake_1_15_or_newer@ +config CONFIGURE_has_automake_1_16_or_newer + @KCONFIG_automake_1_16_or_newer@ config CONFIGURE_has_gnu_m4_1_4_12_or_newer @KCONFIG_gnu_m4_1_4_12_or_newer@ @@ -54,6 +54,9 @@ config CONFIGURE_has_python_3_4_or_newer config CONFIGURE_has_bison_2_7_or_newer @KCONFIG_bison_2_7_or_newer@ +config CONFIGURE_has_bison_3_0_4_or_newer + @KCONFIG_bison_3_0_4_or_newer@ + config CONFIGURE_has_python @KCONFIG_python@ diff --git a/config/kernel/windows.in b/config/kernel/windows.in index 33ca5af8..66275cc4 100644 --- a/config/kernel/windows.in +++ b/config/kernel/windows.in @@ -7,3 +7,5 @@ ## select WINDOWS ## ## help Build a toolchain targeting systems running Windows as host + +## select KERNEL_SUPPORTS_SHARED_LIBS diff --git a/config/libc/glibc.in b/config/libc/glibc.in index 498450cb..39ab7930 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -172,6 +172,13 @@ config GLIBC_CONFIGPARMS Note: If you need to pass more than one value, separate them with '\n'. Eg.: var1=val1\nvar2=val2 +config GLIBC_ENABLE_DEBUG + bool + default y + prompt "Enable debug symbols" + help + Compile glibc using -g modifier. + config GLIBC_EXTRA_CFLAGS string prompt "extra target CFLAGS" diff --git a/config/libc/newlib.in b/config/libc/newlib.in index f1cb29be..7bba2293 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -55,6 +55,7 @@ config LIBC_NEWLIB_IO_LDBL config LIBC_NEWLIB_IO_POS_ARGS bool prompt "Enable printf-family positional arg support" + depends on !LIBC_NEWLIB_NANO_FORMATTED_IO help Enable printf-family positional arg support. @@ -199,6 +200,29 @@ config LIBC_NEWLIB_NANO_FORMATTED_IO with size constraint issues. This option does not affect wide-char formatted I/O functions. + Some notes about this feature: + 1) Floating-point support is split out of the formatted I/O code into + weak functions which are not linked by default. Programs that need + floating-point I/O support must explicitly request linking of one or + both of the floating-point functions: _printf_float or _scanf_float. + This can be done at link time using the -u option which can be passed + to either gcc or ld. + + 2) The following configuration options are ignored for non-wide-char + formatted I/O functions, and can be thought of as disabled. + + "Enable printf-family positional arg support" + "Enable IOs on C99 formats" + "Enable IOs on long long" + "Enable IOs on long doubles" + + Additionally, "Enable IOs on floats and doubles" is supported in this + specific implementation, one can disable it to further reduce code size. + In this case, the floating-point specifiers will not be recognized or + handled, and the -u option will not work either. + + Learn more: https://sourceware.org/newlib/README + config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY string prompt "Extra config for newlib" diff --git a/config/target.in b/config/target.in index 995457a0..21302622 100644 --- a/config/target.in +++ b/config/target.in @@ -112,6 +112,10 @@ config ARCH_SUPPORTS_FLAT_FORMAT bool #-------------------------------------- +config ARCH_SUPPORTS_LIBSANITIZER + bool + +#-------------------------------------- config ARCH_SUPPORTS_EITHER_ENDIAN bool help diff --git a/configure.ac b/configure.ac index 9d0df964..d6e336fe 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_PREREQ([2.67]) +AC_PREREQ([2.71]) AC_INIT( [crosstool-NG], @@ -93,8 +93,8 @@ AC_PROG_CC AM_PROG_CC_C_O AC_PROG_CXX AC_PROG_CPP -AC_PROG_LEX -AC_PROG_YACC +AC_PROG_LEX([noyywrap]) +AX_PROG_BISON AS_IF([test -z "$CC" -o -z "$CXX"], [AC_MSG_ERROR([no suitable compiler found])]) @@ -226,25 +226,25 @@ CTNG_PROG_VERSION_REQ_ANY([LIBTOOLIZE], [libtoolize_2_4_or_newer]) CTNG_PROG_VERSION([AUTOCONF], - [GNU autoconf >= 2.65], + [GNU autoconf >= 2.71], [autoconf], [autoconf], [\(GNU Autoconf\) ([3-9]\.|2\.[7-9][0-9]|2\.6[5-9])], - [autoconf_2_65_or_newer]) + [autoconf_2_71_or_newer]) CTNG_PROG_VERSION([AUTORECONF], - [GNU autoreconf >= 2.63], + [GNU autoreconf >= 2.71], [autoreconf], [autoreconf], [\(GNU Autoconf\) ([3-9]\.|2\.[7-9][0-9]|2\.6[5-9])], - [autoreconf_2_65_or_newer]) + [autoreconf_2_71_or_newer]) CTNG_PROG_VERSION([AUTOMAKE], - [GNU automake >= 1.15], + [GNU automake >= 1.16], [automake], [automake], [\(GNU automake\) ([2-9]\.|1\.[2-9][0-9]|1\.1[5-9])], - [automake_1_15_or_newer]) + [automake_1_16_or_newer]) CTNG_PROG_VERSION([M4], [GNU m4 >= 1.4.12], @@ -274,6 +274,13 @@ CTNG_PROG_VERSION_REQ_ANY([BISON], [\(GNU Bison\) (2\.[7-9]|2\.[1-9][0-9]|[3-9]\.)], [bison_2_7_or_newer]) +CTNG_PROG_VERSION_REQ_ANY([BISON], + [bison >= 3.0.4], + [bison], + [bison], + [\(GNU Bison\) (3\.0\.[4-9]|3\.[1-9]|[4-9]\.)], + [bison_3_0_4_or_newer]) + AC_SUBST([kconfig_options]) AC_CHECK_PROGS([dtc], [dtc]) @@ -300,7 +307,6 @@ CTNG_SET_KCONFIG_OPTION([sha512sum]) # FIXME why checking if not using the result? We don't provide replacemant malloc/alloca/... AC_C_INLINE -AC_HEADER_STDC AC_FUNC_MALLOC AC_FUNC_REALLOC AC_FUNC_ALLOCA @@ -1,7 +1,7 @@ These autoconf helper macros come from various sources: -- ax_*.m4: autoconf-archive, version 2017.09.28 (copied) -- pkg.m4: pkg-config, version 0.29.2 (run configure, then copy) -- gettext.m4, iconv.m4, intlmacosx.m4, nls.m4: gettext 0.19.8 +- ax_*.m4: autoconf-archive, version 2022.09.03 (copied) +- pkg.m4: pkgconf, version 1.8.0 (run configure, then copy) +- gettext.m4, iconv.m4, intlmacosx.m4, nls.m4: gettext 0.21.9 - ctng_*.m4: obviously, implemented anew - po.m4: a local dummy stub for gettext's version diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 index 9e9eaeda..a3d964c6 100644 --- a/m4/ax_cxx_compile_stdcxx.m4 +++ b/m4/ax_cxx_compile_stdcxx.m4 @@ -10,13 +10,13 @@ # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and -# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) -# or '14' (for the C++14 standard). +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -34,13 +34,16 @@ # Copyright (c) 2015 Paul Norman <penorman@mac.com> # Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu> # Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com> +# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com> +# Copyright (c) 2020 Jason Merrill <jason@redhat.com> +# Copyright (c) 2021 Jörn Heusipp <osmanx@problemloesungsmaschine.de> # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 10 +#serial 15 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -49,6 +52,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [$1], [20], [ax_cxx_compile_alternatives="20"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], @@ -61,6 +65,16 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl AC_LANG_PUSH([C++])dnl ac_success=no + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) + m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do @@ -139,7 +153,6 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 ) - dnl Test body for checking C++14 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], @@ -147,12 +160,24 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 ) +dnl Test body for checking C++17 support + m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 ) +dnl Test body for checking C++20 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 +) + + dnl Tests for new features in C++11 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ @@ -164,7 +189,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -189,11 +218,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -453,7 +484,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -577,7 +608,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -943,6 +974,36 @@ namespace cxx17 } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER + +]]) + + +dnl Tests for new features in C++20 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include <version> + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER ]]) diff --git a/m4/ax_prog_bison.m4 b/m4/ax_prog_bison.m4 new file mode 100644 index 00000000..dc115dd6 --- /dev/null +++ b/m4/ax_prog_bison.m4 @@ -0,0 +1,64 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_prog_bison.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_BISON(ACTION-IF-TRUE,ACTION-IF-FALSE) +# +# DESCRIPTION +# +# Check whether bison is the parser generator. Run ACTION-IF-TRUE if +# successful, ACTION-IF-FALSE otherwise +# +# LICENSE +# +# Copyright (c) 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net> +# Copyright (c) 2010 Diego Elio Petteno` <flameeyes@gmail.com> +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <https://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 10 + +AC_DEFUN([AX_PROG_BISON], [ + AC_REQUIRE([AC_PROG_YACC]) + AC_REQUIRE([AC_PROG_EGREP]) + + AC_CACHE_CHECK([if bison is the parser generator],[ax_cv_prog_bison],[ + AS_IF([$YACC --version 2>/dev/null | $EGREP -q '^bison '], + [ax_cv_prog_bison=yes], [ax_cv_prog_bison=no]) + ]) + AS_IF([test "$ax_cv_prog_bison" = "yes"], [ + dnl replace the yacc-compatible compiler with the real bison, as + dnl otherwise autoconf limits us to the POSIX yacc. + dnl We also change the generated filename to the old one, so that + dnl automake's ylwrap can deal with it. + YACC="${YACC% -y} -o y.tab.c" + ] m4_ifnblank([$1], [[$1]]), + m4_ifnblank([$2], [[$2]]) + ) +]) diff --git a/m4/gettext.m4 b/m4/gettext.m4 index eef5073b..4f25a27d 100644 --- a/m4/gettext.m4 +++ b/m4/gettext.m4 @@ -1,15 +1,15 @@ -# gettext.m4 serial 68 (gettext-0.19.8) -dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +# gettext.m4 serial 71 (gettext-0.20.2) +dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -20,15 +20,13 @@ dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl INTLSYMBOL must be one of 'external', 'use-libtool'. +dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and +dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. +dnl AM-DISABLE-SHARED). dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is @@ -57,19 +55,17 @@ dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) +])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported. +])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + ifelse([$1], [external], [no], [yes])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) @@ -91,8 +87,7 @@ AC_DEFUN([AM_GNU_GETTEXT], dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. + dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) @@ -278,8 +273,8 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi @@ -347,43 +342,14 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION fi ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi + dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes' + dnl because some of the testsuite requires it. + BUILD_INCLUDED_LIBINTL=yes dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. diff --git a/m4/iconv.m4 b/m4/iconv.m4 index aa159c53..e593b727 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,5 +1,6 @@ -# iconv.m4 serial 19 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. +# iconv.m4 serial 21 +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2020 Free Software Foundation, +dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -167,15 +168,27 @@ AC_DEFUN([AM_ICONV_LINK], #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ]])], [am_cv_func_iconv_works=yes], , @@ -258,14 +271,18 @@ size_t iconv(); am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) + else + dnl When compiling GNU libiconv on a system that does not have iconv yet, + dnl pick the POSIX compliant declaration without 'const'. + am_cv_proto_iconv_arg1="" fi + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) ]) diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 index aca924c6..ebd9937c 100644 --- a/m4/intlmacosx.m4 +++ b/m4/intlmacosx.m4 @@ -1,15 +1,15 @@ -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc. +# intlmacosx.m4 serial 8 (gettext-0.20.2) +dnl Copyright (C) 2004-2014, 2016, 2019-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -17,7 +17,7 @@ dnl Checks for special options needed on Mac OS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ - dnl Check for API introduced in Mac OS X 10.2. + dnl Check for API introduced in Mac OS X 10.4. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" @@ -33,23 +33,32 @@ AC_DEFUN([gt_INTL_MACOSX], AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi - dnl Check for API introduced in Mac OS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + dnl Don't check for the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent, + dnl because in macOS 10.13.4 it has the following behaviour: + dnl When two or more languages are specified in the + dnl "System Preferences > Language & Region > Preferred Languages" panel, + dnl it returns en_CC where CC is the territory (even when English is not among + dnl the preferred languages!). What we want instead is what + dnl CFLocaleCopyCurrent returned in earlier macOS releases and what + dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the + dnl first among the preferred languages and CC is the territory. + AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include <CoreFoundation/CFLocale.h>]], - [[CFLocaleCopyCurrent();]])], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) + [[CFLocaleCopyPreferredLanguages();]])], + [gt_cv_func_CFLocaleCopyPreferredLanguages=yes], + [gt_cv_func_CFLocaleCopyPreferredLanguages=no]) LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1], + [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ + || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 index 6209de65..98c348fa 100644 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 @@ -1,5 +1,5 @@ -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. +# lib-ld.m4 serial 9 +dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -47,73 +47,122 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. +if test -n "$LD"; then + AC_MSG_CHECKING([for ld]) +elif test "$GCC" = yes; then AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + AC_CACHE_VAL([acl_cv_path_LD], + [ + acl_cv_path_LD= # Final result of this test + ac_prog=ld # Program to search in $PATH + if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac fi - done - IFS="$acl_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$acl_save_ifs" + fi + case $host in + *-*-aix*) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [# The compiler produces 64-bit code. Add option '-b64' so that the + # linker groks 64-bit object files. + case "$acl_cv_path_LD " in + *" -b64 "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; + esac + ], []) + ;; + sparc64-*-netbsd*) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [], + [# The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + ]) + ;; + esac + ]) + LD="$acl_cv_path_LD" +fi if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) + AC_MSG_ERROR([no acceptable ld found in \$PATH]) fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 index 2f518553..eecf70ec 100644 --- a/m4/lib-link.m4 +++ b/m4/lib-link.m4 @@ -1,12 +1,12 @@ -# lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. +# lib-link.m4 serial 31 +dnl Copyright (C) 2001-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -AC_PREREQ([2.54]) +AC_PREREQ([2.61]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. @@ -124,8 +124,8 @@ dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + dnl Complain if config.rpath is missing. + AC_REQUIRE_AUX_FILE([config.rpath]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host @@ -187,17 +187,17 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" + eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" + eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], + AC_ARG_WITH(PACK[-prefix], +[[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -206,17 +206,23 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" + eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" + eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi + additional_libdir2="$withval/$acl_libdirstem2" + additional_libdir3="$withval/$acl_libdirstem3" fi fi ]) + if test "X$additional_libdir2" = "X$additional_libdir"; then + additional_libdir2= + fi + if test "X$additional_libdir3" = "X$additional_libdir"; then + additional_libdir3= + fi dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= @@ -272,48 +278,54 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], shrext= fi if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" + for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do + if test "X$found_dir" = "X"; then + eval dir=\$$additional_libdir_variable + if test -n "$dir"; then + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then found_dir="$dir" - found_so="$dir/$f" - break + found_a="$dir/$libname.$acl_libext" fi - done + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi fi fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi + done fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do @@ -323,7 +335,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then + if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else @@ -333,14 +345,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do - if test -f "$dir/$f"; then + if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break @@ -351,7 +363,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], fi dnl Then look for a static library. if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then + if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi @@ -377,7 +389,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + || test "X$found_dir" = "X/usr/$acl_libdirstem2" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else @@ -477,6 +490,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], fi additional_includedir="$basedir/include" ;; + */$acl_libdirstem3 | */$acl_libdirstem3/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. @@ -527,19 +547,21 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], for dep in $dependency_libs; do case "$dep" in -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \ + && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \ + || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -550,29 +572,29 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then + if test "X$x" = "X-L$dependency_libdir"; then haveit=yes break fi done if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + dnl Really add $dependency_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then + if test "X$x" = "X-L$dependency_libdir"; then haveit=yes break fi done if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + dnl Really add $dependency_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir" fi fi fi @@ -670,7 +692,6 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi - popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) @@ -721,7 +742,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then + && test "X$dir" != "X/usr/$acl_libdirstem2" \ + && test "X$dir" != "X/usr/$acl_libdirstem3"; then rpathdirs="$rpathdirs $dir" fi next= @@ -731,7 +753,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then + && test "X$dir" != "X/usr/$acl_libdirstem2" \ + && test "X$dir" != "X/usr/$acl_libdirstem3"; then rpathdirs="$rpathdirs $dir" fi next= ;; diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 index 6851031d..07cd8b9e 100644 --- a/m4/lib-prefix.m4 +++ b/m4/lib-prefix.m4 @@ -1,18 +1,11 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. +# lib-prefix.m4 serial 17 +dnl Copyright (C) 2001-2005, 2008-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed @@ -32,9 +25,9 @@ AC_DEFUN([AC_LIB_PREFIX], eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], + AC_ARG_WITH([lib-prefix], +[[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -154,71 +147,174 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], ]) dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". +dnl - a function acl_is_expected_elfclass, that tests whether standard input +dnl has a 32-bit or 64-bit ELF header, depending on the host CPU ABI, +dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing +dnl the basename of the libdir to try in turn, either "lib" or "lib64" or +dnl "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar. AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting + dnl There is no formal standard regarding lib, lib32, and lib64. + dnl On most glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on + dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go + dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib. + dnl We determine the compiler's default mode by looking at the compiler's + dnl library search path. If at least one of its elements ends in /lib64 or + dnl points to a directory whose absolute pathname ends in /lib64, we use that + dnl for 64-bit ABIs. Similarly for 32-bit ABIs. Otherwise we use the default, + dnl namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) + + AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf], + [AC_EGREP_CPP([Extensible Linking Format], + [#ifdef __ELF__ + Extensible Linking Format + #endif + ], + [gl_cv_elf=yes], + [gl_cv_elf=no]) + ]) + if test $gl_cv_elf; then + # Extract the ELF class of a file (5th byte) in decimal. + # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header + if od -A x < /dev/null >/dev/null 2>/dev/null; then + # Use POSIX od. + func_elfclass () + { + od -A n -t d1 -j 4 -N 1 + } + else + # Use BSD hexdump. + func_elfclass () + { + dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "' + echo + } + fi +changequote(,)dnl + case $HOST_CPU_C_ABI_32BIT in + yes) + # 32-bit ABI. + acl_is_expected_elfclass () + { + test "`func_elfclass | sed -e 's/[ ]//g'`" = 1 + } + ;; + no) + # 64-bit ABI. + acl_is_expected_elfclass () + { + test "`func_elfclass | sed -e 's/[ ]//g'`" = 2 + } + ;; + *) + # Unknown. + acl_is_expected_elfclass () + { + : + } + ;; + esac +changequote([,])dnl + else + acl_is_expected_elfclass () + { + : + } + fi + + dnl Allow the user to override the result by setting acl_cv_libdirstems. + AC_CACHE_CHECK([for the common suffixes of directories in the library search path], + [acl_cv_libdirstems], + [dnl Try 'lib' first, because that's the default for libdir in GNU, see + dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>. + acl_libdirstem=lib + acl_libdirstem2= + acl_libdirstem3= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>. + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + if test $HOST_CPU_C_ABI_32BIT = no; then + acl_libdirstem2=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem3=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem3=lib/amd64 ;; + esac + fi + ;; + *) + dnl If $CC generates code for a 32-bit ABI, the libraries are + dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64. + dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries + dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32. + dnl Find the compiler's search path. However, non-system compilers + dnl sometimes have odd library search paths. But we can't simply invoke + dnl '/usr/bin/gcc -print-search-dirs' because that would not take into + dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS. + searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test $HOST_CPU_C_ABI_32BIT != no; then + # 32-bit or unknown ABI. + if test -d /usr/lib32; then + acl_libdirstem2=lib32 + fi + fi + if test $HOST_CPU_C_ABI_32BIT != yes; then + # 64-bit or unknown ABI. + if test -d /usr/lib64; then + acl_libdirstem3=lib64 + fi + fi + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;; + */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib32 ) acl_libdirstem2=lib32 ;; + */lib64 ) acl_libdirstem3=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + if test $HOST_CPU_C_ABI_32BIT = yes; then + # 32-bit ABI. + acl_libdirstem3= + fi + if test $HOST_CPU_C_ABI_32BIT = no; then + # 64-bit ABI. + acl_libdirstem2= + fi + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3" + ]) + dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and + dnl acl_libdirstem3. +changequote(,)dnl + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'` + acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'` +changequote([,])dnl ]) @@ -1,16 +1,16 @@ -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software -dnl Foundation, Inc. +# nls.m4 serial 6 (gettext-0.20.2) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2020 Free +dnl Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. @@ -1,5 +1,5 @@ # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 12 (pkg-config-0.29.2) +# serial 11 (pkg-config-0.29.1) dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>. dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com> @@ -41,7 +41,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.2]) +[m4_define([PKG_MACROS_VERSION], [0.29.1]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -142,7 +142,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $2]) +AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -152,11 +152,11 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else + else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -173,7 +173,7 @@ installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -273,3 +273,71 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR + +dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------ +dnl +dnl Prepare a "--with-" configure option using the lowercase +dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and +dnl PKG_CHECK_MODULES in a single macro. +AC_DEFUN([PKG_WITH_MODULES], +[ +m4_pushdef([with_arg], m4_tolower([$1])) + +m4_pushdef([description], + [m4_default([$5], [build with ]with_arg[ support])]) + +m4_pushdef([def_arg], [m4_default([$6], [auto])]) +m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) +m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) + +m4_case(def_arg, + [yes],[m4_pushdef([with_without], [--without-]with_arg)], + [m4_pushdef([with_without],[--with-]with_arg)]) + +AC_ARG_WITH(with_arg, + AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, + [AS_TR_SH([with_]with_arg)=def_arg]) + +AS_CASE([$AS_TR_SH([with_]with_arg)], + [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], + [auto],[PKG_CHECK_MODULES([$1],[$2], + [m4_n([def_action_if_found]) $3], + [m4_n([def_action_if_not_found]) $4])]) + +m4_popdef([with_arg]) +m4_popdef([description]) +m4_popdef([def_arg]) + +])dnl PKG_WITH_MODULES + +dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ----------------------------------------------- +dnl +dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES +dnl check._[VARIABLE-PREFIX] is exported as make variable. +AC_DEFUN([PKG_HAVE_WITH_MODULES], +[ +PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) + +AM_CONDITIONAL([HAVE_][$1], + [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) +])dnl PKG_HAVE_WITH_MODULES + +dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------------------ +dnl +dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after +dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make +dnl and preprocessor variable. +AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], +[ +PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) + +AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], + [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) +])dnl PKG_HAVE_DEFINE_WITH_MODULES diff --git a/m4/progtest.m4 b/m4/progtest.m4 index 9ace7c34..f28010ae 100644 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 @@ -1,15 +1,15 @@ -# progtest.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc. +# progtest.m4 serial 8 (gettext-0.20.2) +dnl Copyright (C) 1996-2003, 2005, 2008-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public +dnl the GNU General Public License or the GNU Lesser General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU +dnl by the GNU Lesser General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. diff --git a/packages/avr-libc/2.1.0/chksum b/packages/avr-libc/2.1.0/chksum new file mode 100644 index 00000000..cd53d729 --- /dev/null +++ b/packages/avr-libc/2.1.0/chksum @@ -0,0 +1,4 @@ +md5 avr-libc-2.1.0.tar.bz2 35fe6d1e2581ea323f127dbac05e5e24 +sha1 avr-libc-2.1.0.tar.bz2 3c5ee4a2b8e308f11f02b57057f53b5fc56fb5be +sha256 avr-libc-2.1.0.tar.bz2 0b84cee5c08b5d5cba67c36125e5aaa85251bc9accfba5773bfa87bc34b654e8 +sha512 avr-libc-2.1.0.tar.bz2 207b8844353c45172cc819cd5e694bbfe7cd281359cd01cff520f1e70226852d708f1a4fc2e841b2ceb8e3f7d19f2ce45a3f499aee4a25eeb5f6f0aa919611c8 diff --git a/packages/dtc/1.6.0/version.desc b/packages/avr-libc/2.1.0/version.desc index e69de29b..e69de29b 100644 --- a/packages/dtc/1.6.0/version.desc +++ b/packages/avr-libc/2.1.0/version.desc diff --git a/packages/binutils-oracle/2.27-44.base.0.400/version.desc b/packages/binutils-oracle/2.27-44.base.0.400/version.desc deleted file mode 100644 index 0184dc3e..00000000 --- a/packages/binutils-oracle/2.27-44.base.0.400/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -repository_branch='oracle/binutils/ol7-u9-arm' -version_number='2.27' diff --git a/packages/binutils-oracle/2.27/version.desc b/packages/binutils-oracle/2.27/version.desc new file mode 100644 index 00000000..7e228114 --- /dev/null +++ b/packages/binutils-oracle/2.27/version.desc @@ -0,0 +1,14 @@ +# Since Oracle provides different branches for binutils +# depending of the architecture: +# +# ARM64: 'oracle/binutils/ol7-u9-aarch64' +# ARM32: 'oracle/binutils/ol7-u9-arm' +# +# branch name is adjusted in: +# samples/{aarch64,arm}*ol7u9-* +# +# using CT_BINUTILS_ORACLE_DEVEL_BRANCH +# +# EoS date for this package in OL7: Jul 2024. +version_number='2.27-44.base.0.400' +obsolete='yes' diff --git a/packages/binutils-oracle/2.30-113.0.1/version.desc b/packages/binutils-oracle/2.30-113.0.1/version.desc deleted file mode 100644 index 49aa6ed2..00000000 --- a/packages/binutils-oracle/2.30-113.0.1/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -repository_branch='oracle/binutils/ol8-u6' -version_number='2.30-113.0.1' diff --git a/packages/binutils-oracle/2.30/version.desc b/packages/binutils-oracle/2.30/version.desc new file mode 100644 index 00000000..3f9982b0 --- /dev/null +++ b/packages/binutils-oracle/2.30/version.desc @@ -0,0 +1,2 @@ +repository_branch='oracle/binutils/ol8-u7' +version_number='2.30-117.0.3' diff --git a/packages/binutils-oracle/git-728f1495/0001-binutils-gdb-oracle-backport.patch b/packages/binutils-oracle/git-0b79182e/0001-binutils-gdb-oracle-backport.patch index 57c05dd2..57c05dd2 100644 --- a/packages/binutils-oracle/git-728f1495/0001-binutils-gdb-oracle-backport.patch +++ b/packages/binutils-oracle/git-0b79182e/0001-binutils-gdb-oracle-backport.patch diff --git a/packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch new file mode 100644 index 00000000..141ddf82 --- /dev/null +++ b/packages/binutils-oracle/git-43eccdca/0000-Fix-a-missing-include-of-string.patch @@ -0,0 +1,24 @@ +This patch is a backport from binutils-gdb commit: +a3972330f4: Fix a missing include of <string> + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur binutils-gdb/gold/errors.h binutils-gdb-oracle/gold/errors.h +--- binutils-gdb/gold/errors.h 2022-06-16 17:49:08.412691685 -0500 ++++ binutils-gdb-oracle/gold/errors.h 2022-06-16 18:34:19.463006903 -0500 +@@ -24,6 +24,7 @@ + #define GOLD_ERRORS_H + + #include <cstdarg> ++#include <string> + + #include "gold-threads.h" + diff --git a/packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch b/packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch new file mode 100644 index 00000000..e517637f --- /dev/null +++ b/packages/binutils-oracle/git-43eccdca/0001-revert-rpm-dd-changes.patch @@ -0,0 +1,940 @@ +commit 6220d114b2f28345efbcea55c1befb1f0d40c215 +Author: Cupertino Miranda <cupertino.miranda@oracle.com> +Date: Mon Dec 5 20:17:30 2022 +0000 + + Revert "LAST DIFFERENCES" + + This reverts commit 43eccdca2998f3e04c8a32590345739f3f321372. + +diff --git a/bfd/config.bfd b/bfd/config.bfd +index cf02b010926..4d821d7eefc 100644 +--- a/bfd/config.bfd ++++ b/bfd/config.bfd +@@ -53,7 +53,7 @@ case $targ in + echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2 + exit 1 + ;; +- i[34567]86-*-netbsdelf* | i[34567]86-*-netbsd*-gnu* | i[34567]86-*-knetbsd*-gnu | \ ++ i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \ + mips*-*-irix5* | mips*-*-irix6*) + # Not obsolete + ;; +@@ -63,24 +63,24 @@ case $targ in + arm*-*-coff | \ + h8300*-*-coff | \ + h8500*-*-coff | \ +- i[34567]86-*-sco3.2v5*coff | \ +- i[34567]86-*-sysv4* | i[34567]86-*-unixware* | \ +- i[34567]86-*-sco3.2v5* | \ +- i[34567]86-*-dgux* | i[34567]86-*-sysv5* | \ +- i[34567]86-*-chorus* | \ +- i[34567]86-*-sysv* | i[34567]86-*-isc* | i[34567]86-*-sco* | i[34567]86-*-coff | \ +- i[34567]86-*-aix* | \ +- i[34567]86-sequent-bsd* | \ +- i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd[12].* | \ +- i[34567]86-*-freebsd[12] | \ +- i[34567]86-*-netbsdaout* | i[34567]86-*-netbsd* | \ +- i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3] | \ +- i[34567]86-*-netware* | \ +- i[34567]86-*-linux*aout* | \ +- i[34567]86-*-mach* | i[34567]86-*-osf1mk* | \ +- i[34567]86-*-os9k | \ +- i[34567]86-none-* | \ +- i[34567]86-*-aout* | i[34567]86*-*-vsta* | \ ++ i[3-7]86-*-sco3.2v5*coff | \ ++ i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \ ++ i[3-7]86-*-sco3.2v5* | \ ++ i[3-7]86-*-dgux* | i[3-7]86-*-sysv5* | \ ++ i[3-7]86-*-chorus* | \ ++ i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \ ++ i[3-7]86-*-aix* | \ ++ i[3-7]86-sequent-bsd* | \ ++ i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \ ++ i[3-7]86-*-freebsd[12] | \ ++ i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \ ++ i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \ ++ i[3-7]86-*-netware* | \ ++ i[3-7]86-*-linux*aout* | \ ++ i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \ ++ i[3-7]86-*-os9k | \ ++ i[3-7]86-none-* | \ ++ i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \ + i860-*-* | \ + i960-*-* | \ + m68*-motorola-sysv* | m68*-hp-bsd* | m68*-*-aout* | \ +@@ -170,7 +170,7 @@ crx*) targ_archs=bfd_crx_arch ;; + dlx*) targ_archs=bfd_dlx_arch ;; + fido*) targ_archs=bfd_m68k_arch ;; + hppa*) targ_archs=bfd_hppa_arch ;; +-i[34567]86) targ_archs=bfd_i386_arch ;; ++i[3-7]86) targ_archs=bfd_i386_arch ;; + i370) targ_archs=bfd_i370_arch ;; + ia16) targ_archs=bfd_i386_arch ;; + lm32) targ_archs=bfd_lm32_arch ;; +@@ -627,17 +627,17 @@ case "${targ}" in + targ_selvecs="i370_elf32_vec" + ;; + +- i[34567]86-*-sco3.2v5*coff) ++ i[3-7]86-*-sco3.2v5*coff) + targ_defvec=i386_coff_vec + targ_selvecs=i386_elf32_vec + ;; +- i[34567]86-*-sysv4* | i[34567]86-*-unixware* | \ +- i[34567]86-*-elf* | i[34567]86-*-sco3.2v5* | \ +- i[34567]86-*-dgux* | i[34567]86-*-sysv5* | i[34567]86-*-rtems*) ++ i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \ ++ i[3-7]86-*-elf* | i[3-7]86-*-sco3.2v5* | \ ++ i[3-7]86-*-dgux* | i[3-7]86-*-sysv5* | i[3-7]86-*-rtems*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec" + ;; +- i[34567]86-*-solaris2*) ++ i[3-7]86-*-solaris2*) + targ_defvec=i386_elf32_sol2_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" + targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec" +@@ -650,23 +650,23 @@ case "${targ}" in + want64=true + ;; + #endif +- i[34567]86-*-kaos*) ++ i[3-7]86-*-kaos*) + targ_defvec=i386_elf32_vec + targ_selvecs=i386_elf32_vec + ;; +- i[34567]86-*-nto*) ++ i[3-7]86-*-nto*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec" + ;; +- i[34567]86-*-aros*) ++ i[3-7]86-*-aros*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + ;; +- i[34567]86-*-chorus*) ++ i[3-7]86-*-chorus*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + ;; +- i[34567]86-*-dicos*) ++ i[3-7]86-*-dicos*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" +@@ -675,85 +675,85 @@ case "${targ}" in + targ_defvec=i386_coff_go32_vec + targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec" + ;; +- i[34567]86-*-sysv* | i[34567]86-*-isc* | i[34567]86-*-sco* | i[34567]86-*-coff | \ +- i[34567]86-*-aix*) ++ i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \ ++ i[3-7]86-*-aix*) + targ_defvec=i386_coff_vec + ;; +- i[34567]86-*-darwin* | i[34567]86-*-macos10* | i[34567]86-*-rhapsody*) ++ i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*) + targ_defvec=i386_mach_o_vec + targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" + targ64_selvecs=x86_64_mach_o_vec + targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" + ;; +- i[34567]86-sequent-bsd*) ++ i[3-7]86-sequent-bsd*) + targ_defvec=i386_aout_dynix_vec + targ_underscore=yes + ;; +- i[34567]86-*-bsd*) ++ i[3-7]86-*-bsd*) + targ_defvec=i386_aout_bsd_vec + targ_underscore=yes + ;; +- i[34567]86-*-dragonfly*) ++ i[3-7]86-*-dragonfly*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" + ;; +- i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd[12].* | \ +- i[34567]86-*-freebsd[12]) ++ i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \ ++ i[3-7]86-*-freebsd[12]) + targ_defvec=i386_aout_fbsd_vec + targ_selvecs=i386_aout_bsd_vec + targ_underscore=yes + ;; +- i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu) ++ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) + targ_defvec=i386_elf32_fbsd_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec" + targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec" + # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. + case "${targ}" in +- i[34567]86-*-freebsd3* | i[34567]86-*-freebsd4 | i[34567]86-*-freebsd4.0*) ++ i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) + targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; + esac + ;; +- i[34567]86-*-netbsdelf* | i[34567]86-*-netbsd*-gnu* | i[34567]86-*-knetbsd*-gnu) ++ i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) + targ_defvec=i386_elf32_vec + targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec" + targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" + ;; +- i[34567]86-*-netbsdpe*) ++ i[3-7]86-*-netbsdpe*) + targ_defvec=i386_pe_vec + targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" + ;; +- i[34567]86-*-netbsdaout* | i[34567]86-*-netbsd* | \ +- i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3]) ++ i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \ ++ i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]) + targ_defvec=i386_aout_nbsd_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_bsd_vec" + targ_underscore=yes + ;; +- i[34567]86-*-openbsd*) ++ i[3-7]86-*-openbsd*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_aout_nbsd_vec" + ;; +- i[34567]86-*-netware*) ++ i[3-7]86-*-netware*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_nlm32_vec i386_coff_vec i386_aout_vec" + ;; +- i[34567]86-*-linux*aout*) ++ i[3-7]86-*-linux*aout*) + targ_defvec=i386_aout_linux_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec" + targ_underscore=yes + ;; +- i[34567]86-*-linux-*) ++ i[3-7]86-*-linux-*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_aout_linux_vec i386_pei_vec" + targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" + ;; +- i[34567]86-*-nacl*) ++ i[3-7]86-*-nacl*) + targ_defvec=i386_elf32_nacl_vec + targ_selvecs="arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec" + targ64_selvecs="x86_64_elf64_nacl_vec x86_64_elf32_nacl_vec" + targ_archs="$targ_archs bfd_arm_arch" + ;; +- i[34567]86-*-redox*) ++ i[3-7]86-*-redox*) + targ_defvec=i386_elf32_vec + targ_selvecs= + targ64_selvecs=x86_64_elf64_vec +@@ -821,64 +821,64 @@ case "${targ}" in + want64=true + ;; + #endif +- i[34567]86-*-lynxos*) ++ i[3-7]86-*-lynxos*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec" + ;; +- i[34567]86-*-gnu*) ++ i[3-7]86-*-gnu*) + targ_defvec=i386_elf32_vec + targ_selvecs=iamcu_elf32_vec + ;; +- i[34567]86-*-mach* | i[34567]86-*-osf1mk*) ++ i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*) + targ_defvec=i386_aout_mach3_vec + targ_cflags=-DSTAT_FOR_EXEC + targ_underscore=yes + ;; +- i[34567]86-*-os9k) ++ i[3-7]86-*-os9k) + targ_defvec=i386_aout_os9k_vec + ;; +- i[34567]86-*-msdos*) ++ i[3-7]86-*-msdos*) + targ_defvec=i386_aout_vec + targ_selvecs=i386_msdos_vec + ;; +- i[34567]86-*-moss*) ++ i[3-7]86-*-moss*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec" + ;; +- i[34567]86-*-beospe*) ++ i[3-7]86-*-beospe*) + targ_defvec=i386_pe_vec + targ_selvecs="i386_pe_vec i386_pei_vec" + ;; +- i[34567]86-*-beoself* | i[34567]86-*-beos*) ++ i[3-7]86-*-beoself* | i[3-7]86-*-beos*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec" + ;; +- i[34567]86-*-interix*) ++ i[3-7]86-*-interix*) + targ_defvec=i386_pei_vec + targ_selvecs="i386_pe_vec" + # FIXME: This should eventually be checked at runtime. + targ_cflags=-DSTRICT_PE_FORMAT + ;; +- i[34567]86-*-rdos*) ++ i[3-7]86-*-rdos*) + targ_defvec=i386_elf32_vec + targ_selvecs="iamcu_elf32_vec i386_coff_vec" + ;; +- i[34567]86-*-mingw32* | i[34567]86-*-cygwin* | i[34567]86-*-winnt | i[34567]86-*-pe) ++ i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe) + targ_defvec=i386_pe_vec + targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" + targ_underscore=yes + ;; +- i[34567]86-none-*) ++ i[3-7]86-none-*) + targ_defvec=i386_coff_vec + ;; +- i[34567]86-*-aout* | i[34567]86*-*-vsta*) ++ i[3-7]86-*-aout* | i[3-7]86*-*-vsta*) + targ_defvec=i386_aout_vec + ;; +- i[34567]86-*-vxworks*) ++ i[3-7]86-*-vxworks*) + targ_defvec=i386_elf32_vxworks_vec + targ_underscore=yes + ;; +- i[34567]86-*-chaos) ++ i[3-7]86-*-chaos) + targ_defvec=i386_elf32_vec + targ_selfvecs="iamcu_elf32_vec i386chaos_vec" + ;; +diff --git a/bfd/configure b/bfd/configure +index adc6cdf1c01..da810fe1c1d 100755 +--- a/bfd/configure ++++ b/bfd/configure +@@ -11910,7 +11910,7 @@ fi + + + case "${host}" in +- sparc-*-solaris*|i[34567]86-*-solaris*) ++ sparc-*-solaris*|i[3-7]86-*-solaris*) + # On native 32bit sparc and ia32 solaris, large-file and procfs support + # are mutually exclusive; and without procfs support, the bfd/ elf module + # cannot provide certain routines such as elfcore_write_prpsinfo +@@ -14840,45 +14840,45 @@ if test "${target}" = "${host}"; then + TRAD_HEADER='"hosts/i370linux.h"' + ;; + +- i[34567]86-sequent-bsd*) ++ i[3-7]86-sequent-bsd*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/symmetry.h"' + ;; +- i[34567]86-sequent-sysv4*) ;; +- i[34567]86-sequent-sysv*) ++ i[3-7]86-sequent-sysv4*) ;; ++ i[3-7]86-sequent-sysv*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/symmetry.h"' + ;; +- i[34567]86-*-bsdi) ++ i[3-7]86-*-bsdi) + COREFILE= + ;; +- i[34567]86-*-bsd* | i[34567]86-*-freebsd[123] | i[34567]86-*-freebsd[123]\.* | i[34567]86-*-freebsd4\.[01234] | i[34567]86-*-freebsd4\.[01234]\.* | i[34567]86-*-freebsd*aout*) ++ i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386bsd.h"' + ;; +- i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-dragonfly*) ++ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) + COREFILE='' + TRAD_HEADER='"hosts/i386bsd.h"' + ;; +- i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-openbsd*) ++ i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*) + COREFILE=netbsd-core.lo + ;; +- i[34567]86-esix-sysv3*) ++ i[3-7]86-esix-sysv3*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/esix.h"' + ;; +- i[34567]86-*-sco3.2v5*) ++ i[3-7]86-*-sco3.2v5*) + COREFILE=sco5-core.lo + ;; +- i[34567]86-*-sco* | i[34567]86-*-isc*) ++ i[3-7]86-*-sco* | i[3-7]86-*-isc*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386sco.h"' + ;; +- i[34567]86-*-mach3*) ++ i[3-7]86-*-mach3*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386mach3.h"' + ;; +- i[34567]86-*-linux-*) ++ i[3-7]86-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' + case "$enable_targets"-"$want64" in +@@ -14886,8 +14886,8 @@ if test "${target}" = "${host}"; then + CORE_HEADER='"hosts/x86-64linux.h"' + esac + ;; +- i[34567]86-*-isc*) COREFILE=trad-core.lo ;; +- i[34567]86-*-aix*) COREFILE=aix386-core.lo ;; ++ i[3-7]86-*-isc*) COREFILE=trad-core.lo ;; ++ i[3-7]86-*-aix*) COREFILE=aix386-core.lo ;; + i860-*-mach3* | i860-*-osf1*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i860mach3.h"' +diff --git a/bfd/configure.ac b/bfd/configure.ac +index fa2e0ec0133..95daa5a86de 100644 +--- a/bfd/configure.ac ++++ b/bfd/configure.ac +@@ -884,65 +884,65 @@ if test "${target}" = "${host}"; then + ;; + + changequote(,)dnl +- i[34567]86-sequent-bsd*) ++ i[3-7]86-sequent-bsd*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/symmetry.h"' + ;; + changequote(,)dnl +- i[34567]86-sequent-sysv4*) ;; +- i[34567]86-sequent-sysv*) ++ i[3-7]86-sequent-sysv4*) ;; ++ i[3-7]86-sequent-sysv*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/symmetry.h"' + ;; + changequote(,)dnl +- i[34567]86-*-bsdi) ++ i[3-7]86-*-bsdi) + changequote([,])dnl + COREFILE= + ;; + changequote(,)dnl +- i[34567]86-*-bsd* | i[34567]86-*-freebsd[123] | i[34567]86-*-freebsd[123]\.* | i[34567]86-*-freebsd4\.[01234] | i[34567]86-*-freebsd4\.[01234]\.* | i[34567]86-*-freebsd*aout*) ++ i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386bsd.h"' + ;; + changequote(,)dnl +- i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-dragonfly*) ++ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) + changequote([,])dnl + COREFILE='' + TRAD_HEADER='"hosts/i386bsd.h"' + ;; + changequote(,)dnl +- i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-openbsd*) ++ i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*) + changequote([,])dnl + COREFILE=netbsd-core.lo + ;; + changequote(,)dnl +- i[34567]86-esix-sysv3*) ++ i[3-7]86-esix-sysv3*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/esix.h"' + ;; + changequote(,)dnl +- i[34567]86-*-sco3.2v5*) ++ i[3-7]86-*-sco3.2v5*) + changequote([,])dnl + COREFILE=sco5-core.lo + ;; + changequote(,)dnl +- i[34567]86-*-sco* | i[34567]86-*-isc*) ++ i[3-7]86-*-sco* | i[3-7]86-*-isc*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386sco.h"' + ;; + changequote(,)dnl +- i[34567]86-*-mach3*) ++ i[3-7]86-*-mach3*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386mach3.h"' + ;; + changequote(,)dnl +- i[34567]86-*-linux-*) ++ i[3-7]86-*-linux-*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' +@@ -952,8 +952,8 @@ changequote([,])dnl + esac + ;; + changequote(,)dnl +- i[34567]86-*-isc*) COREFILE=trad-core.lo ;; +- i[34567]86-*-aix*) COREFILE=aix386-core.lo ;; ++ i[3-7]86-*-isc*) COREFILE=trad-core.lo ;; ++ i[3-7]86-*-aix*) COREFILE=aix386-core.lo ;; + changequote([,])dnl + i860-*-mach3* | i860-*-osf1*) + COREFILE=trad-core.lo +diff --git a/bfd/configure.host b/bfd/configure.host +index bfae19a0884..486de7f055f 100644 +--- a/bfd/configure.host ++++ b/bfd/configure.host +@@ -54,11 +54,11 @@ ia64-*-*) host64=true;; + + # Workaround for limitations on win9x where file contents are + # not zero'd out if you seek past the end and then write. +-i[34567]86-*-mingw32*) HDEFINES=-D__USE_MINGW_FSEEK;; ++i[3-7]86-*-mingw32*) HDEFINES=-D__USE_MINGW_FSEEK;; + +-i[34567]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; +-i[34567]86-sequent-sysv4*) ;; +-i[34567]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; ++i[3-7]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; ++i[3-7]86-sequent-sysv4*) ;; ++i[3-7]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; + + mips*-*-netbsd*) ;; + mips*-*-openbsd*) ;; +diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c +index 6d48ff5b074..9d4dbcee009 100644 +--- a/bfd/elf32-ppc.c ++++ b/bfd/elf32-ppc.c +@@ -10738,7 +10738,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd, + #define ELF_MACHINE_CODE EM_PPC + #ifdef __QNXTARGET__ + #define ELF_MAXPAGESIZE 0x1000 +-#define ELF_COMMONPAGESIZE 0x10000 ++#define ELF_COMMONPAGESIZE 0x1000 + #else + #define ELF_MAXPAGESIZE 0x10000 + #define ELF_COMMONPAGESIZE 0x10000 +diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c +index 68dc02335ab..8fa422f3ac7 100644 +--- a/bfd/elfnn-aarch64.c ++++ b/bfd/elfnn-aarch64.c +@@ -9381,7 +9381,7 @@ const struct elf_size_info elfNN_aarch64_size_info = + #define ELF_MACHINE_CODE EM_AARCH64 + #define ELF_MAXPAGESIZE 0x10000 + #define ELF_MINPAGESIZE 0x1000 +-#define ELF_COMMONPAGESIZE 0x10000 ++#define ELF_COMMONPAGESIZE 0x1000 + + #define bfd_elfNN_close_and_cleanup \ + elfNN_aarch64_close_and_cleanup +diff --git a/binutils/configure b/binutils/configure +index df671b95788..7d76ea887bc 100755 +--- a/binutils/configure ++++ b/binutils/configure +@@ -11706,7 +11706,7 @@ fi + + + case "${host}" in +- sparc-*-solaris*|i[34567]86-*-solaris*) ++ sparc-*-solaris*|i[3-7]86-*-solaris*) + # On native 32bit sparc and ia32 solaris, large-file and procfs support + # are mutually exclusive; and without procfs support, the bfd/ elf module + # cannot provide certain routines such as elfcore_write_prpsinfo +@@ -14479,7 +14479,7 @@ do + od_vectors="$od_vectors objdump_private_desc_xcoff" + else + case $targ in +- i[34567]86*-*-netware*) ++ i[3-7]86*-*-netware*) + BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' + NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386" + ;; +@@ -14539,7 +14539,7 @@ do + BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' + BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' + ;; +- i[34567]86-*-pe* | i[34567]86-*-cygwin* | i[34567]86-*-mingw32** | i[34567]86-*-netbsdpe*) ++ i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | i[3-7]86-*-netbsdpe*) + BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' + if test -z "$DLLTOOL_DEFAULT"; then + DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386" +@@ -14549,7 +14549,7 @@ do + BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' + BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' + ;; +- i[34567]86-*-interix) ++ i[3-7]86-*-interix) + BUILD_DLLTOOL='$(DLLTOOL_PROG)' + if test -z "$DLLTOOL_DEFAULT"; then + DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386" +diff --git a/binutils/configure.ac b/binutils/configure.ac +index 63466c584b6..6d3eaa31fe1 100644 +--- a/binutils/configure.ac ++++ b/binutils/configure.ac +@@ -264,7 +264,7 @@ do + else + case $targ in + changequote(,)dnl +- i[34567]86*-*-netware*) ++ i[3-7]86*-*-netware*) + changequote([,])dnl + BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' + NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386" +@@ -326,7 +326,7 @@ changequote([,])dnl + BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' + ;; + changequote(,)dnl +- i[34567]86-*-pe* | i[34567]86-*-cygwin* | i[34567]86-*-mingw32** | i[34567]86-*-netbsdpe*) ++ i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | i[3-7]86-*-netbsdpe*) + changequote([,])dnl + BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' + if test -z "$DLLTOOL_DEFAULT"; then +@@ -338,7 +338,7 @@ changequote([,])dnl + BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' + ;; + changequote(,)dnl +- i[34567]86-*-interix) ++ i[3-7]86-*-interix) + changequote([,])dnl + BUILD_DLLTOOL='$(DLLTOOL_PROG)' + if test -z "$DLLTOOL_DEFAULT"; then +diff --git a/gas/configure b/gas/configure +index f4a4b1256d6..2d7f44717e2 100755 +--- a/gas/configure ++++ b/gas/configure +@@ -11472,7 +11472,7 @@ fi + + + case "${host}" in +- sparc-*-solaris*|i[34567]86-*-solaris*) ++ sparc-*-solaris*|i[3-7]86-*-solaris*) + # On native 32bit sparc and ia32 solaris, large-file and procfs support + # are mutually exclusive; and without procfs support, the bfd/ elf module + # cannot provide certain routines such as elfcore_write_prpsinfo +diff --git a/gas/configure.tgt b/gas/configure.tgt +index abf7e02e869..afe4e0608cf 100644 +--- a/gas/configure.tgt ++++ b/gas/configure.tgt +@@ -61,7 +61,7 @@ case ${cpu} in + epiphany*) cpu_type=epiphany endian=little ;; + fido) cpu_type=m68k ;; + hppa*) cpu_type=hppa ;; +- i[34567]86) cpu_type=i386 arch=i386;; ++ i[3-7]86) cpu_type=i386 arch=i386;; + ia16) cpu_type=i386 arch=i386;; + ia64) cpu_type=ia64 ;; + ip2k) cpu_type=ip2k endian=big ;; +diff --git a/gold/aarch64.cc b/gold/aarch64.cc +index 1d11420dee7..f77c4cc3187 100644 +--- a/gold/aarch64.cc ++++ b/gold/aarch64.cc +@@ -3554,7 +3554,7 @@ const Target::Target_info Target_aarch64<64, false>::aarch64_info = + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address + 0x10000, // abi_pagesize (overridable by -z max-page-size) +- 0x10000, // common_pagesize (overridable by -z common-page-size) ++ 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +@@ -3582,7 +3582,7 @@ const Target::Target_info Target_aarch64<32, false>::aarch64_info = + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address + 0x10000, // abi_pagesize (overridable by -z max-page-size) +- 0x10000, // common_pagesize (overridable by -z common-page-size) ++ 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +@@ -3610,7 +3610,7 @@ const Target::Target_info Target_aarch64<64, true>::aarch64_info = + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address + 0x10000, // abi_pagesize (overridable by -z max-page-size) +- 0x10000, // common_pagesize (overridable by -z common-page-size) ++ 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +@@ -3638,7 +3638,7 @@ const Target::Target_info Target_aarch64<32, true>::aarch64_info = + "/lib/ld.so.1", // program interpreter + 0x400000, // default_text_segment_address + 0x10000, // abi_pagesize (overridable by -z max-page-size) +- 0x10000, // common_pagesize (overridable by -z common-page-size) ++ 0x1000, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +diff --git a/gold/powerpc.cc b/gold/powerpc.cc +index 7869d20595b..f6d589c6ea7 100644 +--- a/gold/powerpc.cc ++++ b/gold/powerpc.cc +@@ -1614,7 +1614,7 @@ Target::Target_info Target_powerpc<32, true>::powerpc_info = + "/usr/lib/ld.so.1", // dynamic_linker + 0x10000000, // default_text_segment_address + 64 * 1024, // abi_pagesize (overridable by -z max-page-size) +- 64 * 1024, // common_pagesize (overridable by -z common-page-size) ++ 4 * 1024, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +@@ -1642,7 +1642,7 @@ Target::Target_info Target_powerpc<32, false>::powerpc_info = + "/usr/lib/ld.so.1", // dynamic_linker + 0x10000000, // default_text_segment_address + 64 * 1024, // abi_pagesize (overridable by -z max-page-size) +- 64 * 1024, // common_pagesize (overridable by -z common-page-size) ++ 4 * 1024, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +@@ -1670,7 +1670,7 @@ Target::Target_info Target_powerpc<64, true>::powerpc_info = + "/usr/lib/ld.so.1", // dynamic_linker + 0x10000000, // default_text_segment_address + 64 * 1024, // abi_pagesize (overridable by -z max-page-size) +- 64 * 1024, // common_pagesize (overridable by -z common-page-size) ++ 4 * 1024, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +@@ -1698,7 +1698,7 @@ Target::Target_info Target_powerpc<64, false>::powerpc_info = + "/usr/lib/ld.so.1", // dynamic_linker + 0x10000000, // default_text_segment_address + 64 * 1024, // abi_pagesize (overridable by -z max-page-size) +- 64 * 1024, // common_pagesize (overridable by -z common-page-size) ++ 4 * 1024, // common_pagesize (overridable by -z common-page-size) + false, // isolate_execinstr + 0, // rosegment_gap + elfcpp::SHN_UNDEF, // small_common_shndx +diff --git a/gprof/configure b/gprof/configure +index bbcd676c610..e0f2bef7776 100755 +--- a/gprof/configure ++++ b/gprof/configure +@@ -11382,7 +11382,7 @@ fi + + + case "${host}" in +- sparc-*-solaris*|i[34567]86-*-solaris*) ++ sparc-*-solaris*|i[3-7]86-*-solaris*) + # On native 32bit sparc and ia32 solaris, large-file and procfs support + # are mutually exclusive; and without procfs support, the bfd/ elf module + # cannot provide certain routines such as elfcore_write_prpsinfo +diff --git a/ld/configure b/ld/configure +index 9431f3b6ea2..e43ddd698cf 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -15221,7 +15221,7 @@ fi + + + case "${host}" in +- sparc-*-solaris*|i[34567]86-*-solaris*) ++ sparc-*-solaris*|i[3-7]86-*-solaris*) + # On native 32bit sparc and ia32 solaris, large-file and procfs support + # are mutually exclusive; and without procfs support, the bfd/ elf module + # cannot provide certain routines such as elfcore_write_prpsinfo +diff --git a/ld/configure.tgt b/ld/configure.tgt +index 1a70497ae98..6183a85b3d1 100644 +--- a/ld/configure.tgt ++++ b/ld/configure.tgt +@@ -241,32 +241,32 @@ hppa*-*-openbsd*) targ_emul=hppaobsd + ;; + i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 + ;; +-i[34567]86-*-nto-qnx*) targ_emul=i386nto ;; +-i[34567]86-*-vsta) targ_emul=vsta ;; +-i[34567]86-*-go32) targ_emul=i386go32 ;; +-i[34567]86-*-msdosdjgpp*) targ_emul=i386go32 ;; +-i[34567]86-*-aix*) targ_emul=i386coff ;; +-i[34567]86-*-sco*) targ_emul=i386coff ;; +-i[34567]86-*-isc*) targ_emul=i386coff ;; +-i[34567]86-*-lynxos*) targ_emul=i386lynx ;; +-i[34567]86-*-coff) targ_emul=i386coff ;; +-i[34567]86-*-aros*) targ_emul=elf_i386 ++i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; ++i[3-7]86-*-vsta) targ_emul=vsta ;; ++i[3-7]86-*-go32) targ_emul=i386go32 ;; ++i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;; ++i[3-7]86-*-aix*) targ_emul=i386coff ;; ++i[3-7]86-*-sco*) targ_emul=i386coff ;; ++i[3-7]86-*-isc*) targ_emul=i386coff ;; ++i[3-7]86-*-lynxos*) targ_emul=i386lynx ;; ++i[3-7]86-*-coff) targ_emul=i386coff ;; ++i[3-7]86-*-aros*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +-i[34567]86-*-rdos*) targ_emul=elf_i386 ++i[3-7]86-*-rdos*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; + x86_64-*-rdos*) targ_emul=elf64rdos ;; + x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi ;; +-i[34567]86-*-bsd) targ_emul=i386bsd ;; +-i[34567]86-*-bsd386) targ_emul=i386bsd ;; +-i[34567]86-*-bsdi*) targ_emul=i386bsd ;; +-i[34567]86-*-aout) targ_emul=i386aout ;; +-i[34567]86-*-linux*aout*) targ_emul=i386linux ++i[3-7]86-*-bsd) targ_emul=i386bsd ;; ++i[3-7]86-*-bsd386) targ_emul=i386bsd ;; ++i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; ++i[3-7]86-*-aout) targ_emul=i386aout ;; ++i[3-7]86-*-linux*aout*) targ_emul=i386linux + targ_extra_emuls="elf_i386 elf_iamcu" + tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/aout//'` + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; +-i[34567]86-*-linux*oldld) targ_emul=i386linux ++i[3-7]86-*-linux*oldld) targ_emul=i386linux + targ_extra_emuls="elf_i386 elf_iamcu" ;; +-i[34567]86-*-linux-*) targ_emul=elf_i386 ++i[3-7]86-*-linux-*) targ_emul=elf_i386 + targ_extra_emuls="i386linux elf_iamcu" + targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om" + targ64_extra_libpath="elf_x86_64 elf32_x86_64" +@@ -282,13 +282,13 @@ x86_64-*-linux-*) targ_emul=elf_x86_64 + targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" + tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; +-i[34567]86-*-redox*) targ_emul=elf_i386 ++i[3-7]86-*-redox*) targ_emul=elf_i386 + targ_extra_emuls=elf_x86_64 ;; + x86_64-*-redox*) targ_emul=elf_x86_64 + targ_extra_emuls=elf_i386 ;; +-i[34567]86-*-sysv[45]*) targ_emul=elf_i386 ++i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +-i[34567]86-*-solaris2*) targ_emul=elf_i386_sol2 ++i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2 + targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om" + targ_extra_libpath=$targ_extra_emuls + ;; +@@ -297,20 +297,20 @@ x86_64-*-solaris2*) + targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om" + targ_extra_libpath=$targ_extra_emuls + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; +-i[34567]86-*-unixware) targ_emul=elf_i386 ++i[3-7]86-*-unixware) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +-i[34567]86-*-solaris*) targ_emul=elf_i386_ldso ++i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso + targ_extra_emuls="elf_i386" + targ_extra_libpath=$targ_extra_emuls + ;; +-i[34567]86-*-netbsdelf* | \ +-i[34567]86-*-netbsd*-gnu* | \ +-i[34567]86-*-knetbsd*-gnu) ++i[3-7]86-*-netbsdelf* | \ ++i[3-7]86-*-netbsd*-gnu* | \ ++i[3-7]86-*-knetbsd*-gnu) + targ_emul=elf_i386 + targ_extra_emuls="elf_iamcu i386nbsd" ;; +-i[34567]86-*-netbsdpe*) targ_emul=i386pe ++i[3-7]86-*-netbsdpe*) targ_emul=i386pe + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +-i[34567]86-*-netbsd*) targ_emul=i386nbsd ++i[3-7]86-*-netbsd*) targ_emul=i386nbsd + targ_extra_emuls=elf_i386 ;; + x86_64-*-netbsd*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu i386nbsd elf_l1om elf_k1om" +@@ -328,10 +328,10 @@ x86_64-*-netbsd*) targ_emul=elf_x86_64 + *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ + sed -e 's/netbsd/netbsdelf/'`;; + esac ;; +-i[34567]86-*-netware) targ_emul=i386nw ;; +-i[34567]86-*-elfiamcu) targ_emul=elf_iamcu ++i[3-7]86-*-netware) targ_emul=i386nw ;; ++i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu + targ_extra_emuls=elf_i386 ;; +-i[34567]86-*-elf* | i[34567]86-*-rtems*) ++i[3-7]86-*-elf* | i[3-7]86-*-rtems*) + targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; + x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) +@@ -340,14 +340,14 @@ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) + targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` + ;; +-i[34567]86-*-kaos*) targ_emul=elf_i386 ;; +-i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12]) ++i[3-7]86-*-kaos*) targ_emul=elf_i386 ;; ++i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12]) + targ_emul=i386bsd ;; +-i[34567]86-*-dragonfly*) targ_emul=elf_i386 ++i[3-7]86-*-dragonfly*) targ_emul=elf_i386 + targ_extra_emuls="elf_iamcu i386bsd" ;; + x86_64-*-dragonfly*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" ;; +-i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu) ++i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) + targ_emul=elf_i386_fbsd + targ_extra_emuls="elf_i386 elf_iamcu i386bsd" ;; + x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) +@@ -360,21 +360,21 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) + | sed -e 's/x86_64/i386/'` + tdir_elf_i386=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` ;; +-i[34567]86-*-sysv*) targ_emul=i386coff ;; +-i[34567]86-*-ptx*) targ_emul=i386coff ;; +-i[34567]86-*-mach*) targ_emul=i386mach ;; +-i[34567]86-*-gnu*) targ_emul=elf_i386 ++i[3-7]86-*-sysv*) targ_emul=i386coff ;; ++i[3-7]86-*-ptx*) targ_emul=i386coff ;; ++i[3-7]86-*-mach*) targ_emul=i386mach ;; ++i[3-7]86-*-gnu*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +-i[34567]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; +-i[34567]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; +-i[34567]86-*-winnt*) targ_emul=i386pe ; ++i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; ++i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; ++i[3-7]86-*-winnt*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +-i[34567]86-*-pe) targ_emul=i386pe ; ++i[3-7]86-*-pe) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +-i[34567]86-*-cygwin*) targ_emul=i386pe ; ++i[3-7]86-*-cygwin*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ; + test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; +-i[34567]86-*-mingw32*) targ_emul=i386pe ; ++i[3-7]86-*-mingw32*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; + x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; + targ_extra_emuls=i386pe ; +@@ -386,14 +386,14 @@ x86_64-*-cygwin) targ_emul=i386pep ; + x86_64-*-mingw*) targ_emul=i386pep ; + targ_extra_emuls=i386pe + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; +-i[34567]86-*-interix*) targ_emul=i386pe_posix; ++i[3-7]86-*-interix*) targ_emul=i386pe_posix; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; +-i[34567]86-*-beospe*) targ_emul=i386beos ;; +-i[34567]86-*-beos*) targ_emul=elf_i386_be ;; +-i[34567]86-*-vxworks*) targ_emul=elf_i386_vxworks ;; +-i[34567]86-*-chaos) targ_emul=elf_i386_chaos ++i[3-7]86-*-beospe*) targ_emul=i386beos ;; ++i[3-7]86-*-beos*) targ_emul=elf_i386_be ;; ++i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;; ++i[3-7]86-*-chaos) targ_emul=elf_i386_chaos + ;; +-i[34567]86-*-nacl*) targ_emul=elf_i386_nacl ++i[3-7]86-*-nacl*) targ_emul=elf_i386_nacl + targ_extra_emuls="armelf_nacl armelfb_nacl" + targ_extra_libpath=$targ_extra_emuls + targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl" +@@ -903,15 +903,15 @@ hppa*64*-*-hpux11*) + NATIVE_LIB_DIRS=/usr/lib/pa20_64 + ;; + +-i[34567]86-*-sysv4*) ++i[3-7]86-*-sysv4*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' + ;; + +-i[34567]86-*-solaris*) ++i[3-7]86-*-solaris*) + NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' + ;; + +-i[34567]86-pc-interix*) ++i[3-7]86-pc-interix*) + NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib' + ;; + diff --git a/packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch b/packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch new file mode 100644 index 00000000..41b3b9f5 --- /dev/null +++ b/packages/binutils-oracle/git-43eccdca/0002-fix_to_patch_92.patch @@ -0,0 +1,44 @@ +diff --git a/gold/i386.cc b/gold/i386.cc +index a65f3a034df..3f1312c8640 100644 +--- a/gold/i386.cc ++++ b/gold/i386.cc +@@ -1081,7 +1081,7 @@ Target_i386::record_gnu_property( + { + uint32_t val = 0; + +- switch (pr_type) ++ switch ((unsigned int) pr_type) + { + case elfcpp::GNU_PROPERTY_X86_ISA_1_USED: + case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED: +@@ -1102,7 +1102,7 @@ Target_i386::record_gnu_property( + break; + } + +- switch (pr_type) ++ switch ((unsigned int) pr_type) + { + case elfcpp::GNU_PROPERTY_X86_ISA_1_USED: + this->isa_1_used_ |= val; +diff --git a/gold/x86_64.cc b/gold/x86_64.cc +index 16bcffc9541..63b551957ef 100644 +--- a/gold/x86_64.cc ++++ b/gold/x86_64.cc +@@ -1468,7 +1468,7 @@ Target_x86_64<size>::record_gnu_property( + { + uint32_t val = 0; + +- switch (pr_type) ++ switch ((unsigned int) pr_type) + { + case elfcpp::GNU_PROPERTY_X86_ISA_1_USED: + case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED: +@@ -1489,7 +1489,7 @@ Target_x86_64<size>::record_gnu_property( + break; + } + +- switch (pr_type) ++ switch ((unsigned int) pr_type) + { + case elfcpp::GNU_PROPERTY_X86_ISA_1_USED: + this->isa_1_used_ |= val; diff --git a/packages/binutils-oracle/git-461776a5/0000-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-461776a5/0000-Fix-a-missing-include-of-string.patch new file mode 100644 index 00000000..141ddf82 --- /dev/null +++ b/packages/binutils-oracle/git-461776a5/0000-Fix-a-missing-include-of-string.patch @@ -0,0 +1,24 @@ +This patch is a backport from binutils-gdb commit: +a3972330f4: Fix a missing include of <string> + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur binutils-gdb/gold/errors.h binutils-gdb-oracle/gold/errors.h +--- binutils-gdb/gold/errors.h 2022-06-16 17:49:08.412691685 -0500 ++++ binutils-gdb-oracle/gold/errors.h 2022-06-16 18:34:19.463006903 -0500 +@@ -24,6 +24,7 @@ + #define GOLD_ERRORS_H + + #include <cstdarg> ++#include <string> + + #include "gold-threads.h" + diff --git a/packages/binutils-oracle/git-889339ab/0000-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-889339ab/0000-Fix-a-missing-include-of-string.patch new file mode 100644 index 00000000..141ddf82 --- /dev/null +++ b/packages/binutils-oracle/git-889339ab/0000-Fix-a-missing-include-of-string.patch @@ -0,0 +1,24 @@ +This patch is a backport from binutils-gdb commit: +a3972330f4: Fix a missing include of <string> + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur binutils-gdb/gold/errors.h binutils-gdb-oracle/gold/errors.h +--- binutils-gdb/gold/errors.h 2022-06-16 17:49:08.412691685 -0500 ++++ binutils-gdb-oracle/gold/errors.h 2022-06-16 18:34:19.463006903 -0500 +@@ -24,6 +24,7 @@ + #define GOLD_ERRORS_H + + #include <cstdarg> ++#include <string> + + #include "gold-threads.h" + diff --git a/packages/binutils-oracle/git-889339ab/0012-Fix-a-missing-include-of-string.patch b/packages/binutils-oracle/git-889339ab/0012-Fix-a-missing-include-of-string.patch deleted file mode 100644 index b04033a7..00000000 --- a/packages/binutils-oracle/git-889339ab/0012-Fix-a-missing-include-of-string.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 23272f9927dc95c0cf6f7c5aabcc0551eca572c5 Mon Sep 17 00:00:00 2001 -From: Martin Liska <mliska@suse.cz> -Date: Fri, 7 Jun 2019 07:36:52 +0200 -Subject: [PATCH] Fix a missing include of <string> - -gold/ChangeLog: - -2019-06-07 Martin Liska <mliska@suse.cz> - - * errors.h: Include string. ---- - gold/errors.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 ---- a/gold/errors.h -+++ b/gold/errors.h -@@ -24,6 +24,7 @@ - #define GOLD_ERRORS_H - - #include <cstdarg> -+#include <string> - - #include "gold-threads.h" - diff --git a/packages/binutils/2.39/0000-sh-conf.patch b/packages/binutils/2.39/0000-sh-conf.patch new file mode 100644 index 00000000..8e975da0 --- /dev/null +++ b/packages/binutils/2.39/0000-sh-conf.patch @@ -0,0 +1,32 @@ +From 0d37b5114a1caa2e1cb8e5273b6a674abee37b91 Mon Sep 17 00:00:00 2001 +From: Chris Packham <judge.packham@gmail.com> +Date: Mon, 8 Aug 2022 20:31:10 +1200 +Subject: [PATCH] sh conf + +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/configure ++++ b/configure +@@ -3911,7 +3911,7 @@ + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +--- a/configure.ac ++++ b/configure.ac +@@ -1189,7 +1189,7 @@ + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; diff --git a/packages/binutils/2.39/0001-check_ldrunpath_length.patch b/packages/binutils/2.39/0001-check_ldrunpath_length.patch new file mode 100644 index 00000000..d67a67f8 --- /dev/null +++ b/packages/binutils/2.39/0001-check_ldrunpath_length.patch @@ -0,0 +1,29 @@ +From 3c0df45053b5988491bbb407f875fee8a0faa25b Mon Sep 17 00:00:00 2001 +From: Chris Packham <judge.packham@gmail.com> +Date: Mon, 8 Aug 2022 20:36:31 +1200 +Subject: [PATCH] check_ldrunpath_length + +--- + ld/ldelf.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/ld/ldelf.c ++++ b/ld/ldelf.c +@@ -1127,6 +1127,8 @@ + && command_line.rpath == NULL) + { + path = (const char *) getenv ("LD_RUN_PATH"); ++ if (path && *path == '\0') ++ path = NULL; + if (path + && ldelf_search_needed (path, &n, force, + is_linux, elfsize)) +@@ -1801,6 +1803,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if (rpath && *rpath == '\0') ++ rpath = NULL; + + for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/packages/binutils/2.39/0002-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr.patch b/packages/binutils/2.39/0002-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr.patch new file mode 100644 index 00000000..f02496ca --- /dev/null +++ b/packages/binutils/2.39/0002-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr.patch @@ -0,0 +1,21 @@ +From 4a797d00aac6f4a15fcd17c34da65a316e788f16 Mon Sep 17 00:00:00 2001 +From: Chris Packham <judge.packham@gmail.com> +Date: Mon, 8 Aug 2022 20:37:03 +1200 +Subject: [PATCH] MinGW w64 winpthreads doesn't have + pthread_mutexattr_settype + +--- + gold/gold-threads.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gold/gold-threads.cc ++++ b/gold/gold-threads.cc +@@ -101,7 +101,7 @@ + int err = pthread_mutexattr_init(&attr); + if (err != 0) + gold_fatal(_("pthead_mutexattr_init failed: %s"), strerror(err)); +-#ifdef PTHREAD_MUTEX_ADAPTIVE_NP ++#if defined(PTHREAD_MUTEX_ADAPTIVE_NP) && !defined(_WIN32) + err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); + if (err != 0) + gold_fatal(_("pthread_mutexattr_settype failed: %s"), strerror(err)); diff --git a/packages/binutils/2.39/0003-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.39/0003-Dont-link-to-libfl-as-its-unnecessary.patch new file mode 100644 index 00000000..ccaffff7 --- /dev/null +++ b/packages/binutils/2.39/0003-Dont-link-to-libfl-as-its-unnecessary.patch @@ -0,0 +1,110 @@ +From 4afcbb7decf230fdf7a02a5fe9dd1b5dfaab5712 Mon Sep 17 00:00:00 2001 +From: Chris Packham <judge.packham@gmail.com> +Date: Mon, 8 Aug 2022 20:37:24 +1200 +Subject: [PATCH] Don't link to libfl as it's unnecessary + +--- + binutils/configure | 3 +++ + binutils/configure.ac | 3 +++ + gas/configure | 3 +++ + gas/configure.ac | 3 +++ + ld/configure | 3 +++ + ld/configure.ac | 3 +++ + 6 files changed, 18 insertions(+) + +--- a/binutils/configure ++++ b/binutils/configure +@@ -12289,6 +12289,7 @@ + done + test -n "$YACC" || YACC="yacc" + ++save_LIBS=$LIBS + for ac_prog in flex lex + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -12452,6 +12453,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW" + # If we haven't got the data from the intl directory, +--- a/binutils/configure.ac ++++ b/binutils/configure.ac +@@ -137,7 +137,10 @@ + fi + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW" + ZW_GNU_GETTEXT_SISTER_DIR +--- a/gas/configure ++++ b/gas/configure +@@ -12932,6 +12932,7 @@ + done + test -n "$YACC" || YACC="yacc" + ++save_LIBS=$LIBS + for ac_prog in flex lex + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -13095,6 +13096,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN" + # If we haven't got the data from the intl directory, +--- a/gas/configure.ac ++++ b/gas/configure.ac +@@ -933,7 +933,10 @@ + AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.]) + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN" + ZW_GNU_GETTEXT_SISTER_DIR +--- a/ld/configure ++++ b/ld/configure +@@ -16448,6 +16448,7 @@ + done + test -n "$YACC" || YACC="yacc" + ++save_LIBS=$LIBS + for ac_prog in flex lex + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -16611,6 +16612,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -346,7 +346,10 @@ + AC_EXEEXT + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + AM_MAINTAINER_MODE + AM_CONDITIONAL(GENINSRC_NEVER, false) diff --git a/packages/binutils/2.39/0004-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.39/0004-Darwin-gold-binary-cc-include-string-not-cstring.patch new file mode 100644 index 00000000..a94a9894 --- /dev/null +++ b/packages/binutils/2.39/0004-Darwin-gold-binary-cc-include-string-not-cstring.patch @@ -0,0 +1,20 @@ +From 5a41f20a5be6d38fd33beae8a5e0af902acc6e71 Mon Sep 17 00:00:00 2001 +From: Chris Packham <judge.packham@gmail.com> +Date: Mon, 8 Aug 2022 20:37:47 +1200 +Subject: [PATCH] Darwin gold binary cc include string not cstring + +--- + gold/binary.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gold/binary.cc ++++ b/gold/binary.cc +@@ -23,7 +23,7 @@ + #include "gold.h" + + #include <cerrno> +-#include <cstring> ++#include <string> + + #include "elfcpp.h" + #include "stringpool.h" diff --git a/packages/binutils/2.39/0005-Fix-darwin-build.patch b/packages/binutils/2.39/0005-Fix-darwin-build.patch new file mode 100644 index 00000000..be6abe78 --- /dev/null +++ b/packages/binutils/2.39/0005-Fix-darwin-build.patch @@ -0,0 +1,70 @@ +From 2b887f9f158c963d0ffb9759c9ff4d89c88b7ed1 Mon Sep 17 00:00:00 2001 +From: Andrew Hsieh <andrewhsieh@google.com> +Date: Wed, 18 Mar 2015 10:57:24 +0800 +Subject: [PATCH] Fix darwin build + +1. In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4 + doesn't support ended initializer list +2. wcsncasecmp doesn't exist in MacSDK10.6.x + +Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e +--- + bfd/peXXigen.c | 22 ++++++++++++++++++++++ + gold/gold-threads.cc | 15 ++++++++++++--- + 2 files changed, 34 insertions(+), 3 deletions(-) + +--- a/bfd/peXXigen.c ++++ b/bfd/peXXigen.c +@@ -3641,6 +3641,28 @@ + } + #endif /* not Cygwin/Mingw */ + ++#if defined __APPLE__ && __DARWIN_C_LEVEL < 200809L ++/* wcsncasecmp isn't always defined in Mac SDK */ ++static int ++wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) ++{ ++ wchar_t c1, c2; ++ ++ if (n == 0) ++ return (0); ++ for (; *s1; s1++, s2++) ++ { ++ c1 = towlower(*s1); ++ c2 = towlower(*s2); ++ if (c1 != c2) ++ return ((int)c1 - c2); ++ if (--n == 0) ++ return (0); ++ } ++ return (-*s2); ++} ++#endif ++ + /* Perform a comparison of two entries. */ + static signed int + rsrc_cmp (bool is_name, rsrc_entry * a, rsrc_entry * b) +--- a/gold/gold-threads.cc ++++ b/gold/gold-threads.cc +@@ -284,9 +284,18 @@ + class Once_initialize + { + public: +- Once_initialize() +- : once_(PTHREAD_ONCE_INIT) +- { } ++ Once_initialize() ++#if !defined(__APPLE__) ++ : once_(PTHREAD_ONCE_INIT) ++ { } ++#else ++// In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4 doesn't support ++// extended initializer list as above */ ++ { ++ pthread_once_t once_2 = PTHREAD_ONCE_INIT; ++ once_ = once_2; ++ } ++#endif + + // Return a pointer to the pthread_once_t variable. + pthread_once_t* diff --git a/packages/binutils/2.39/0006-sysroot.patch b/packages/binutils/2.39/0006-sysroot.patch new file mode 100644 index 00000000..29dfe2ee --- /dev/null +++ b/packages/binutils/2.39/0006-sysroot.patch @@ -0,0 +1,45 @@ +From 57da8086f8bd7c3184b9e2144083553c46ce4ae4 Mon Sep 17 00:00:00 2001 +From: Sven Rebhan <odinshorse@googlemail.com> +Date: Mon, 8 Aug 2022 20:46:29 +1200 +Subject: [PATCH] sysroot + +Always try to prepend the sysroot prefix to absolute filenames first. + +http://bugs.gentoo.org/275666 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340 + +Signed-off-by: Sven Rebhan <odinshorse@googlemail.com> +--- + ld/ldfile.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -340,18 +340,25 @@ + directory first. */ + if (!entry->flags.maybe_archive) + { +- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ /* For absolute pathnames, try to always open the file in the ++ sysroot first. If this fails, try to open the file at the ++ given location. */ ++ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); ++ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) ++ && ld_sysroot) + { + char *name = concat (ld_sysroot, entry->filename, + (const char *) NULL); + if (ldfile_try_open_bfd (name, entry)) + { + entry->filename = name; ++ entry->flags.sysrooted = true; + return true; + } + free (name); + } +- else if (ldfile_try_open_bfd (entry->filename, entry)) ++ ++ if (ldfile_try_open_bfd (entry->filename, entry)) + return true; + + if (IS_ABSOLUTE_PATH (entry->filename)) diff --git a/packages/binutils/2.39/0007-poison-system-directories.patch b/packages/binutils/2.39/0007-poison-system-directories.patch new file mode 100644 index 00000000..9db86425 --- /dev/null +++ b/packages/binutils/2.39/0007-poison-system-directories.patch @@ -0,0 +1,283 @@ +From 6d79a3e0fadbc0e619b039db2c73353d68036acc Mon Sep 17 00:00:00 2001 +From: Scott Garman <scott.a.garman@intel.com> +Date: Mon, 8 Aug 2022 20:48:32 +1200 +Subject: [PATCH] poison system directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers <joseph@codesourcery.com> + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers <joseph@codesourcery.com> + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers <joseph@codesourcery.com> + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers <joseph@codesourcery.com> + Based on patch by Mark Hatle <mark.hatle@windriver.com>. + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +Signed-off-by: Scott Garman <scott.a.garman@intel.com> +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +--- a/ld/config.in ++++ b/ld/config.in +@@ -55,6 +55,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +--- a/ld/configure ++++ b/ld/configure +@@ -836,6 +836,7 @@ + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1514,6 +1515,8 @@ + --enable-checking enable run-time checks + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got=<type> GOT handling scheme (target, single, negative, + multigot) +@@ -15370,7 +15373,18 @@ + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -102,6 +102,16 @@ + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -157,6 +157,14 @@ + /* If set, display the target memory usage (per memory region). */ + bool print_memory_usage; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bool poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bool error_poison_system_directories; ++ + /* Should we force section groups to be resolved? Controlled with + --force-group-allocation on the command line or FORCE_GROUP_ALLOCATION + in the linker script. */ +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2947,6 +2947,18 @@ + occurrence of the --package-metdata option. + If the linker has been built with libjansson, then the JSON string + will be validated. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -117,6 +117,23 @@ + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -168,6 +168,8 @@ + OPTION_NO_WARN_EXECSTACK, + OPTION_WARN_RWX_SEGMENTS, + OPTION_NO_WARN_RWX_SEGMENTS, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -321,6 +321,8 @@ + command_line.warn_mismatch = true; + command_line.warn_search_mismatch = true; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = true; ++ command_line.error_poison_system_directories = true; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -608,6 +608,14 @@ + " <method> is: share-unconflicted (default),\n" + " share-duplicated"), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -620,6 +628,7 @@ + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1679,6 +1688,14 @@ + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = false; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = true; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1824,6 +1841,10 @@ + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = true; ++ + while (ingroup) + { + einfo (_("%P: missing --end-group; added as last command line option\n")); diff --git a/packages/binutils/2.39/chksum b/packages/binutils/2.39/chksum new file mode 100644 index 00000000..113a2dc9 --- /dev/null +++ b/packages/binutils/2.39/chksum @@ -0,0 +1,12 @@ +md5 binutils-2.39.tar.xz f7e986ae9ff06405cafb2e585ee36d27 +sha1 binutils-2.39.tar.xz f17653e7b1d1fa5242a408919845da23e8cc5141 +sha256 binutils-2.39.tar.xz 645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 +sha512 binutils-2.39.tar.xz 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 +md5 binutils-2.39.tar.bz2 ec642a2a02029501f68911b507453b89 +sha1 binutils-2.39.tar.bz2 d9028547385694d61d98fb4e2882a2b9c40ce7e9 +sha256 binutils-2.39.tar.bz2 da24a84fef220102dd24042df06fdea851c2614a5377f86effa28f33b7b16148 +sha512 binutils-2.39.tar.bz2 faa592dd48fc715901ad704ac96dbd34b1792c51e77c7a92a387964b0700703c74be07de45cc4751945c8c0674368c73dc17bbc563d1d2cd235b5ebd8c6e7efb +md5 binutils-2.39.tar.gz ab6825df57514ec172331e988f55fc10 +sha1 binutils-2.39.tar.gz a1124fb0991b2161947dedb7698637a80e053731 +sha256 binutils-2.39.tar.gz d12ea6f239f1ffe3533ea11ad6e224ffcb89eb5d01bbea589e9158780fa11f10 +sha512 binutils-2.39.tar.gz b446f60e03c88d70e37089240b7ef563da31fbbf5f41a4de4cf576fa33ab1b184714657eac88aa05b5a051524af9fb9ec12a90d0bb33b16d181a4eb4aa388842 diff --git a/packages/gcc/10.3.0/version.desc b/packages/binutils/2.39/version.desc index e69de29b..e69de29b 100644 --- a/packages/gcc/10.3.0/version.desc +++ b/packages/binutils/2.39/version.desc diff --git a/packages/binutils/package.desc b/packages/binutils/package.desc index 9202960a..259ce6c7 100644 --- a/packages/binutils/package.desc +++ b/packages/binutils/package.desc @@ -2,6 +2,6 @@ repository='git git://sourceware.org/git/binutils-gdb.git' mirrors='$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)' relevantpattern='*.*|.' origin='GNU' -milestones='2.26 2.27 2.30' +milestones='2.26 2.27 2.30 2.39' archive_formats='.tar.xz .tar.bz2 .tar.gz' signature_format='packed/.sig' diff --git a/packages/cloog/0.18.0/chksum b/packages/cloog/0.18.0/chksum new file mode 100644 index 00000000..9331f368 --- /dev/null +++ b/packages/cloog/0.18.0/chksum @@ -0,0 +1,4 @@ +md5sum cloog-0.18.0.tar.gz be78a47bd82523250eb3e91646db5b3d +sha1sum cloog-0.18.0.tar.gz 85f620a26aabf6a934c44ca40a9799af0952f863 +sha256sum cloog-0.18.0.tar.gz 1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228 +sha512sum cloog-0.18.0.tar.gz 34404984c4269dfc19673712271b08f220b6b49e451e7479cefbc5d2f27ab8e780f5d51fbbc7cecb974dab655673d8348f2a1ece3a60feaeeb9413fccf16eb1d diff --git a/packages/cloog/0.18.0/version.desc b/packages/cloog/0.18.0/version.desc new file mode 100644 index 00000000..569904cc --- /dev/null +++ b/packages/cloog/0.18.0/version.desc @@ -0,0 +1,3 @@ +# This package is a dependency to build a cross toolchain +# for OL7u9, for which EoS date is at Jul 2024. +obsolete='yes' diff --git a/packages/dtc/1.6.0/chksum b/packages/dtc/1.6.0/chksum deleted file mode 100644 index 830cab07..00000000 --- a/packages/dtc/1.6.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 dtc-1.6.0.tar.xz 1556ba93648bf70d7aa034252e278751 -sha1 dtc-1.6.0.tar.xz 3e6ab5121dcfe5ff9f8b0503becfcf687d5d4434 -sha256 dtc-1.6.0.tar.xz 10503b0217e1b07933e29e8d347a00015b2431bea5f59afe0bed3af30340c82d -sha512 dtc-1.6.0.tar.xz 15433b24f1d6b7ed1f8066d050bd1bcbf988731aa38147564e3dd04b5f69af8d69e03befdc621a768526c620425a9bdd24aad4f9ff135930d6a1eeb0625f7de3 -md5 dtc-1.6.0.tar.gz b87b7aee4a01535ef1f9c53d5f6cd178 -sha1 dtc-1.6.0.tar.gz ef037f4599b7b1e883c9bb588b24d289dc9cd1f2 -sha256 dtc-1.6.0.tar.gz 9fbe07223a98f2d7088a340b5505d4dfe682d77580e788d08cfcc1b61d8be237 -sha512 dtc-1.6.0.tar.gz 8ca3f9e06a60144d3f476c251d911f2daa16afb82daa101c61050bfab226dbb330f8a75a3715fe0c2b46b2a64f3794eb3ce0816aef434ab64e1feb1ba08be574 diff --git a/packages/dtc/1.6.1/chksum b/packages/dtc/1.6.1/chksum new file mode 100644 index 00000000..49db302c --- /dev/null +++ b/packages/dtc/1.6.1/chksum @@ -0,0 +1,8 @@ +md5 dtc-1.6.1.tar.xz 709888bac3aad657e6020d0e491fc0ba +sha1 dtc-1.6.1.tar.xz 6273fa9cdd51e7fd83d0467e21c788e3a5d3cd5d +sha256 dtc-1.6.1.tar.xz 65cec529893659a49a89740bb362f507a3b94fc8cd791e76a8d6a2b6f3203473 +sha512 dtc-1.6.1.tar.xz 26cd351ddca411ab96b93ac3e763f817f9f8a80ca66a8707e1077f771ed8e7e04c01f321ab8ab27b2f9826d9d438483fe3156401493bfd29cef3cc71a1414568 +md5 dtc-1.6.1.tar.gz 614ca19476dde5905f91b517eb678e01 +sha1 dtc-1.6.1.tar.gz 5fbbb5ff11038cd701c3041e26a442b194637179 +sha256 dtc-1.6.1.tar.gz 38a6257f2c23cb9dfa1781ac4ad122d8358e1a22d33b2da0eb492c190644a376 +sha512 dtc-1.6.1.tar.gz 34b64f356070710fd78f34ed624a06cec02915c98ab53eddbb0843f2a4c62dc95a78aa8583d7f433db60d1233eb1a2babecd85cd8179e74f27fe46ca412cb2b3 diff --git a/packages/gcc/12.1.0/version.desc b/packages/dtc/1.6.1/version.desc index e69de29b..e69de29b 100644 --- a/packages/gcc/12.1.0/version.desc +++ b/packages/dtc/1.6.1/version.desc diff --git a/packages/expat/2.4.1/version.desc b/packages/expat/2.4.1/version.desc index e69de29b..fcfe3891 100644 --- a/packages/expat/2.4.1/version.desc +++ b/packages/expat/2.4.1/version.desc @@ -0,0 +1 @@ +obsolete='yes' diff --git a/packages/expat/2.5.0/chksum b/packages/expat/2.5.0/chksum new file mode 100644 index 00000000..e81826d7 --- /dev/null +++ b/packages/expat/2.5.0/chksum @@ -0,0 +1,17 @@ +md5 expat-2.5.0.tar.xz ac6677b6d1b95d209ab697ce8b688704 +sha1 expat-2.5.0.tar.xz 5178e13c1e34f4643d5118d5758babfe0e836fe2 +sha256 expat-2.5.0.tar.xz ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe +sha512 expat-2.5.0.tar.xz 2da73b991b7c0c54440485c787e5edeb3567230204e31b3cac1c3a6713ec6f9f1554d3afffc0f8336168dfd5df02db4a69bcf21b4d959723d14162d13ab87516 +md5 expat-2.5.0.tar.lz 4add8675872d4b923d9b7871dc0f24d3 +sha1 expat-2.5.0.tar.lz 9f767155627006b383f54078f2fa0d7df5b9d6e6 +sha256 expat-2.5.0.tar.lz 9a51edebc8c2910d8cc2b5e6b8d98350dea559922208f3e1a6bb5de33b6c2dc6 +sha512 expat-2.5.0.tar.lz 59ec89d471cda38fab853c85ff5ffc0631d6fa2c376e7246a933f8d317f037672e8142cf1408477f5724192a05ace1baa51a533c605a78532863d5f178e37c08 +md5 expat-2.5.0.tar.bz2 5e9974d422dc4b157f300568ad28ebf6 +sha1 expat-2.5.0.tar.bz2 36e29d7192ab8c5ce44d09375318a0a81395aab0 +sha256 expat-2.5.0.tar.bz2 6f0e6e01f7b30025fa05c85fdad1e5d0ec7fd35d9f61b22f34998de11969ff67 +sha512 expat-2.5.0.tar.bz2 22fd904d75aab7506a85c03519b9cf79e44898c8e1ba6abf6cb7f95de71b8e63a7e2d5cf4395e3627d46035ea29342b3e631a8809fef8aad3f59976dc075ad17 +md5 expat-2.5.0.tar.gz 686e9d986f85966c7924dfc041cdc15e +sha1 expat-2.5.0.tar.gz 061c1232188dff35e44aa7137aec7757d3d90d27 +sha256 expat-2.5.0.tar.gz 6b902ab103843592be5e99504f846ec109c1abb692e85347587f237a4ffa1033 +sha512 expat-2.5.0.tar.gz f1ff7da5fafb47dcd6e0f0d892826aba6de76509c8497bc00382f1109ab8e2a93d396943dbb52216457044993a39d73728048adf650d8e83e28189edc7b78402 + diff --git a/packages/linux/4.14.277/version.desc b/packages/expat/2.5.0/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/4.14.277/version.desc +++ b/packages/expat/2.5.0/version.desc diff --git a/packages/gcc-oracle/4.8.5-44.0.5/version.desc b/packages/gcc-oracle/4.8.5-44.0.5/version.desc new file mode 100644 index 00000000..5040c3de --- /dev/null +++ b/packages/gcc-oracle/4.8.5-44.0.5/version.desc @@ -0,0 +1,4 @@ +# EoS date for this package in OL7: Jul 2024. +repository_branch='oracle/gcc/ol7-u9' +version_number='4.8.5' +obsolete='yes' diff --git a/packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch b/packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch new file mode 100644 index 00000000..992630c5 --- /dev/null +++ b/packages/gcc-oracle/git-dbf713b5/0001-Fix-compiler-error.patch @@ -0,0 +1,92 @@ +This patch is a backport from gcc + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur gcc/gcc/doc/gcc.texi gcc-oracle/gcc/doc/gcc.texi +--- gcc/gcc/doc/gcc.texi 2022-05-31 22:24:28.784639836 -0500 ++++ gcc-oracle/gcc/doc/gcc.texi 2022-05-31 22:25:14.695834317 -0500 +@@ -85,9 +85,9 @@ + @item GNU Press + @tab Website: www.gnupress.org + @item a division of the +-@tab General: @tex press@@gnu.org @end tex ++@tab General: @email{press@@gnu.org} + @item Free Software Foundation +-@tab Orders: @tex sales@@gnu.org @end tex ++@tab Orders: @email{sales@@gnu.org} + @item 51 Franklin Street, Fifth Floor + @tab Tel 617-542-5942 + @item Boston, MA 02110-1301 USA +diff -Nur gcc/gcc/reload.h gcc-oracle/gcc/reload.h +--- gcc/gcc/reload.h 2022-05-31 22:24:27.924654669 -0500 ++++ gcc-oracle/gcc/reload.h 2022-05-31 22:25:14.695834317 -0500 +@@ -166,7 +166,7 @@ + value indicates the level of indirect addressing supported, e.g., two + means that (MEM (MEM (REG n))) is also valid if (REG n) does not get + a hard register. */ +- bool x_spill_indirect_levels; ++ unsigned char x_spill_indirect_levels; + + /* True if caller-save has been reinitialized. */ + bool x_caller_save_initialized_p; +diff -Nur gcc/libgcc/config/i386/linux-unwind.h gcc-oracle/libgcc/config/i386/linux-unwind.h +--- gcc/libgcc/config/i386/linux-unwind.h 2022-05-31 22:24:27.100668870 -0500 ++++ gcc-oracle/libgcc/config/i386/linux-unwind.h 2022-05-31 22:25:14.695834317 -0500 +@@ -58,7 +58,7 @@ + if (*(unsigned char *)(pc+0) == 0x48 + && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) + { +- struct ucontext *uc_ = context->cfa; ++ struct ucontext_t *uc_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ +@@ -138,7 +138,7 @@ + siginfo_t *pinfo; + void *puc; + siginfo_t info; +- struct ucontext uc; ++ struct ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff -Nur gcc/libgcc/unwind-dw2.c gcc-oracle/libgcc/unwind-dw2.c +--- gcc/libgcc/unwind-dw2.c 2022-05-31 22:24:27.088669076 -0500 ++++ gcc-oracle/libgcc/unwind-dw2.c 2022-05-31 22:25:14.695834317 -0500 +@@ -931,6 +931,17 @@ + return stack[stack_elt]; + } + ++#define DWARF_REGNUM_AARCH64_RA_STATE 34 ++ ++#define MD_POST_EXTRACT_ROOT_ADDR(addr) \ ++ ({ void *__addr; asm ("mov x30, %0; hint 7; mov %0, x30" \ ++ : "=r" (__addr) : "0" (addr) : "x30", "cc"); __addr; }) ++#define MD_POST_EXTRACT_FRAME_ADDR(context, fs, addr) \ ++ aarch64_post_extract_frame_addr (context, fs, addr) ++#define MD_POST_FROB_EH_HANDLER_ADDR(current, target, addr) \ ++ aarch64_post_frob_eh_handler_addr (current, target, addr) ++#define MD_FROB_UPDATE_CONTEXT(context, fs) \ ++ aarch64_frob_update_context (context, fs) + + /* Decode DWARF 2 call frame information. Takes pointers the + instruction sequence to decode, current register information and +diff -Nur gcc/libsanitizer/asan/asan_linux.cc gcc-oracle/libsanitizer/asan/asan_linux.cc +--- gcc/libsanitizer/asan/asan_linux.cc 2022-05-31 22:24:28.852638665 -0500 ++++ gcc-oracle/libsanitizer/asan/asan_linux.cc 2022-05-31 22:25:14.695834317 -0500 +@@ -28,6 +28,7 @@ + #include <stdio.h> + #include <unistd.h> + #include <unwind.h> ++#include <signal.h> + + #if !ASAN_ANDROID + // FIXME: where to get ucontext on Android? diff --git a/packages/gcc/10.3.0/0023-powerpc-Fix-asm-machine-directive-for-some-CPUs.patch b/packages/gcc/10.3.0/0023-powerpc-Fix-asm-machine-directive-for-some-CPUs.patch deleted file mode 100644 index 3ad38f1e..00000000 --- a/packages/gcc/10.3.0/0023-powerpc-Fix-asm-machine-directive-for-some-CPUs.patch +++ /dev/null @@ -1,59 +0,0 @@ -From d568abb25fc799123168aac840372b28bb81f85d Mon Sep 17 00:00:00 2001 -From: Sebastian Huber <sebastian.huber@embedded-brains.de> -Date: Tue, 18 Jan 2022 12:44:53 +0100 -Subject: [PATCH] powerpc: Fix asm machine directive for some CPUs - -For some CPUs, the assembler machine directive cannot be determined by ISA -flags. - -gcc/ - - PR target/104090 - * config/rs6000/rs6000.c (rs6000_machine_from_flags): Use also - rs6000_cpu. ---- - gcc/config/rs6000/rs6000.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c -index 4b473e00be39..5404fb187556 100644 ---- a/gcc/config/rs6000/rs6000.c -+++ b/gcc/config/rs6000/rs6000.c -@@ -5547,6 +5547,34 @@ const char *rs6000_machine; - const char * - rs6000_machine_from_flags (void) - { -+ /* For some CPUs, the machine cannot be determined by ISA flags. We have to -+ check them first. */ -+ switch (rs6000_cpu) -+ { -+ case PROCESSOR_PPC8540: -+ case PROCESSOR_PPC8548: -+ return "e500"; -+ -+ case PROCESSOR_PPCE300C2: -+ case PROCESSOR_PPCE300C3: -+ return "e300"; -+ -+ case PROCESSOR_PPCE500MC: -+ return "e500mc"; -+ -+ case PROCESSOR_PPCE500MC64: -+ return "e500mc64"; -+ -+ case PROCESSOR_PPCE5500: -+ return "e5500"; -+ -+ case PROCESSOR_PPCE6500: -+ return "e6500"; -+ -+ default: -+ break; -+ } -+ - HOST_WIDE_INT flags = rs6000_isa_flags; - - /* Disable the flags that should never influence the .machine selection. */ --- -2.35.1 - diff --git a/packages/gcc/10.3.0/chksum b/packages/gcc/10.3.0/chksum deleted file mode 100644 index 892d0580..00000000 --- a/packages/gcc/10.3.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gcc-10.3.0.tar.xz 443c15b92614a3ce8f22e3b24ca2226a -sha1 gcc-10.3.0.tar.xz fb51ed1660c065898c75951fb38e1ebad7d49feb -sha256 gcc-10.3.0.tar.xz 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344 -sha512 gcc-10.3.0.tar.xz 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86 -md5 gcc-10.3.0.tar.gz 87910940d70e845f2bf1a57997b6220c -sha1 gcc-10.3.0.tar.gz f53af25982d6a270d58e9aff0b91ee2b57cd6709 -sha256 gcc-10.3.0.tar.gz 8fcf994811ad4e5c7ac908e8cf62af2c1982319e5551f62ae72016064dacdf16 -sha512 gcc-10.3.0.tar.gz 759672f1cf740fa39b34904d3e6fb5b506a978711d5c75c2c108c1f11ff8d25adba35daad287a1c9d6721383d85eaa9cd77f569eae442015fdccb621643fbe49 diff --git a/packages/gcc/10.3.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/10.4.0/0000-libtool-leave-framework-alone.patch index 1a86e415..1a86e415 100644 --- a/packages/gcc/10.3.0/0000-libtool-leave-framework-alone.patch +++ b/packages/gcc/10.4.0/0000-libtool-leave-framework-alone.patch diff --git a/packages/gcc/10.3.0/0001-uclibc-conf.patch b/packages/gcc/10.4.0/0001-uclibc-conf.patch index aef750af..aef750af 100644 --- a/packages/gcc/10.3.0/0001-uclibc-conf.patch +++ b/packages/gcc/10.4.0/0001-uclibc-conf.patch diff --git a/packages/gcc/10.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/10.4.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch index ca9b8baf..b797cb86 100644 --- a/packages/gcc/10.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ b/packages/gcc/10.4.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -53,7 +53,7 @@ if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then --- a/gcc/configure +++ b/gcc/configure -@@ -30385,6 +30385,9 @@ +@@ -30610,6 +30610,9 @@ pluginlibs= plugin_check=yes @@ -63,7 +63,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -30407,6 +30410,11 @@ +@@ -30632,6 +30635,11 @@ export_sym_check= fi ;; @@ -75,7 +75,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -30519,23 +30527,23 @@ +@@ -30744,23 +30752,23 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` diff --git a/packages/gcc/10.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/10.4.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch index 5f9a07a2..5f9a07a2 100644 --- a/packages/gcc/10.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch +++ b/packages/gcc/10.4.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch diff --git a/packages/gcc/10.3.0/0004-arm-softfloat-libgcc.patch b/packages/gcc/10.4.0/0004-arm-softfloat-libgcc.patch index d9800365..d9800365 100644 --- a/packages/gcc/10.3.0/0004-arm-softfloat-libgcc.patch +++ b/packages/gcc/10.4.0/0004-arm-softfloat-libgcc.patch diff --git a/packages/gcc/10.3.0/0005-fix-m68k-uclinux.patch b/packages/gcc/10.4.0/0005-fix-m68k-uclinux.patch index 452a4bb2..fed816a1 100644 --- a/packages/gcc/10.3.0/0005-fix-m68k-uclinux.patch +++ b/packages/gcc/10.4.0/0005-fix-m68k-uclinux.patch @@ -10,7 +10,7 @@ Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -949,7 +949,7 @@ +@@ -959,7 +959,7 @@ m68k*-*-openbsd*) ;; m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc diff --git a/packages/gcc/10.3.0/0006-libgfortran-missing-include.patch b/packages/gcc/10.4.0/0006-libgfortran-missing-include.patch index d4917eed..d4917eed 100644 --- a/packages/gcc/10.3.0/0006-libgfortran-missing-include.patch +++ b/packages/gcc/10.4.0/0006-libgfortran-missing-include.patch diff --git a/packages/gcc/10.3.0/0007-nios2-bad-multilib-default.patch b/packages/gcc/10.4.0/0007-nios2-bad-multilib-default.patch index 4acc4918..4acc4918 100644 --- a/packages/gcc/10.3.0/0007-nios2-bad-multilib-default.patch +++ b/packages/gcc/10.4.0/0007-nios2-bad-multilib-default.patch diff --git a/packages/gcc/10.3.0/0008-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/10.4.0/0008-libgcc-disable-split-stack-nothreads.patch index df91a9ff..df91a9ff 100644 --- a/packages/gcc/10.3.0/0008-libgcc-disable-split-stack-nothreads.patch +++ b/packages/gcc/10.4.0/0008-libgcc-disable-split-stack-nothreads.patch diff --git a/packages/gcc/10.3.0/0009-bionic-ndk.patch b/packages/gcc/10.4.0/0009-bionic-ndk.patch index 474dd8c0..474dd8c0 100644 --- a/packages/gcc/10.3.0/0009-bionic-ndk.patch +++ b/packages/gcc/10.4.0/0009-bionic-ndk.patch diff --git a/packages/gcc/10.3.0/0010-crystax.patch b/packages/gcc/10.4.0/0010-crystax.patch index 5b15ffb8..4b2a3614 100644 --- a/packages/gcc/10.3.0/0010-crystax.patch +++ b/packages/gcc/10.4.0/0010-crystax.patch @@ -174,7 +174,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 : min >= -256 && max < 256 \ --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md -@@ -9346,7 +9346,7 @@ +@@ -9356,7 +9356,7 @@ (match_operand:SI 2 "const_int_operand") ; total range (match_operand:SI 3 "" "") ; table label (match_operand:SI 4 "" "")] ; Out of range label @@ -185,7 +185,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 enum insn_code code; --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt -@@ -202,6 +202,10 @@ +@@ -208,6 +208,10 @@ Target Report Mask(INTERWORK) Support calls between Thumb and ARM instruction sets. diff --git a/packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch b/packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch new file mode 100644 index 00000000..2f8ad877 --- /dev/null +++ b/packages/gcc/10.4.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch @@ -0,0 +1,123 @@ +From a6eedb593ca068d0ad8655dbb97fcd6371cba682 Mon Sep 17 00:00:00 2001 +From: Xi Ruoyao <xry111@mengyan1223.wang> +Date: Mon, 28 Jun 2021 13:54:58 +0800 +Subject: [PATCH] fixinc: don't "fix" machine names in __has_include(...) + [PR91085] + +fixincludes/ + + PR other/91085 + * fixfixes.c (check_has_inc): New static function. + (machine_name_fix): Don't replace header names in + __has_include(...). + * inclhack.def (machine_name): Adjust test. + * tests/base/testing.h: Update. + +Upstream: 6bf383c37e6131a8e247e8a0997d55d65c830b6d +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> +--- + fixincludes/fixfixes.c | 45 ++++++++++++++++++++++++++++++-- + fixincludes/inclhack.def | 3 ++- + fixincludes/tests/base/testing.h | 2 +- + 3 files changed, 46 insertions(+), 4 deletions(-) + +diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c +index 034e15d9985..3ff87812036 100644 +--- a/fixincludes/fixfixes.c ++++ b/fixincludes/fixfixes.c +@@ -477,6 +477,39 @@ FIX_PROC_HEAD( char_macro_def_fix ) + fputs (text, stdout); + } + ++/* Check if the pattern at pos is actually in a "__has_include(...)" ++ directive. Return the pointer to the ')' of this ++ "__has_include(...)" if it is, NULL otherwise. */ ++static const char * ++check_has_inc (const char *begin, const char *pos, const char *end) ++{ ++ static const char has_inc[] = "__has_include"; ++ const size_t has_inc_len = sizeof (has_inc) - 1; ++ const char *p; ++ ++ for (p = memmem (begin, pos - begin, has_inc, has_inc_len); ++ p != NULL; ++ p = memmem (p, pos - p, has_inc, has_inc_len)) ++ { ++ p += has_inc_len; ++ while (p < end && ISSPACE (*p)) ++ p++; ++ ++ /* "__has_include" may appear as "defined(__has_include)", ++ search for the next appearance then. */ ++ if (*p != '(') ++ continue; ++ ++ /* To avoid too much complexity, just hope there is never a ++ ')' in a header name. */ ++ p = memchr (p, ')', end - p); ++ if (p == NULL || p > pos) ++ return p; ++ } ++ ++ return NULL; ++} ++ + /* Fix for machine name #ifdefs that are not in the namespace reserved + by the C standard. They won't be defined if compiling with -ansi, + and the headers will break. We go to some trouble to only change +@@ -524,7 +557,7 @@ FIX_PROC_HEAD( machine_name_fix ) + /* If the 'name_pat' matches in between base and limit, we have + a bogon. It is not worth the hassle of excluding comments + because comments on #if/#ifdef lines are rare, and strings on +- such lines are illegal. ++ such lines are only legal in a "__has_include" directive. + + REG_NOTBOL means 'base' is not at the beginning of a line, which + shouldn't matter since the name_re has no ^ anchor, but let's +@@ -544,8 +577,16 @@ FIX_PROC_HEAD( machine_name_fix ) + break; + + p = base + match[0].rm_so; +- base += match[0].rm_eo; + ++ /* Check if the match is in __has_include(...) (PR 91085). */ ++ q = check_has_inc (base, p, limit); ++ if (q) ++ { ++ base = q + 1; ++ goto again; ++ } ++ ++ base += match[0].rm_eo; + /* One more test: if on the same line we have the same string + with the appropriate underscores, then leave it alone. + We want exactly two leading and trailing underscores. */ +diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def +index f58e7771e1c..71bd717c233 100644 +--- a/fixincludes/inclhack.def ++++ b/fixincludes/inclhack.def +@@ -3114,7 +3114,8 @@ fix = { + c_fix = machine_name; + + test_text = "/* MACH_DIFF: */\n" +- "#if defined( i386 ) || defined( sparc ) || defined( vax )" ++ "#if defined( i386 ) || defined( sparc ) || defined( vax ) || " ++ "defined( linux ) || __has_include ( <linux.h> )" + "\n/* no uniform test, so be careful :-) */"; + }; + +diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h +index cf95321fb86..8b3accaf04e 100644 +--- a/fixincludes/tests/base/testing.h ++++ b/fixincludes/tests/base/testing.h +@@ -64,7 +64,7 @@ BSD43__IOWR('T', 1) /* Some are multi-line */ + + #if defined( MACHINE_NAME_CHECK ) + /* MACH_DIFF: */ +-#if defined( i386 ) || defined( sparc ) || defined( vax ) ++#if defined( i386 ) || defined( sparc ) || defined( vax ) || defined( linux ) || __has_include ( <linux.h> ) + /* no uniform test, so be careful :-) */ + #endif /* MACHINE_NAME_CHECK */ + +-- +2.37.3 diff --git a/packages/gcc/10.3.0/0011-crystax.patch b/packages/gcc/10.4.0/0011-crystax.patch index f1f9eb12..f1f9eb12 100644 --- a/packages/gcc/10.3.0/0011-crystax.patch +++ b/packages/gcc/10.4.0/0011-crystax.patch diff --git a/packages/gcc/10.3.0/0012-crystax.patch b/packages/gcc/10.4.0/0012-crystax.patch index a61ec095..4af4f5ba 100644 --- a/packages/gcc/10.3.0/0012-crystax.patch +++ b/packages/gcc/10.4.0/0012-crystax.patch @@ -25,7 +25,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --- a/gcc/config.in +++ b/gcc/config.in -@@ -2266,6 +2266,12 @@ +@@ -2285,6 +2285,12 @@ #endif @@ -111,7 +111,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --- a/gcc/configure +++ b/gcc/configure -@@ -1000,6 +1000,7 @@ +@@ -999,6 +999,7 @@ enable_fix_cortex_a53_843419 with_glibc_version enable_gnu_unique_object @@ -119,7 +119,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 enable_linker_build_id enable_libssp enable_default_ssp -@@ -1754,6 +1755,9 @@ +@@ -1753,6 +1754,9 @@ --enable-gnu-unique-object enable the use of the @gnu_unique_object ELF extension on glibc systems @@ -129,7 +129,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --enable-linker-build-id compiler will always pass --build-id to linker --enable-libssp enable linking against libssp -@@ -28843,6 +28847,38 @@ +@@ -28974,6 +28978,38 @@ $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h @@ -170,7 +170,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -5376,6 +5376,35 @@ +@@ -5427,6 +5427,35 @@ if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1, [Define if your linker supports .eh_frame_hdr.]) diff --git a/packages/gcc/10.3.0/0013-crystax.patch b/packages/gcc/10.4.0/0013-crystax.patch index bf1bc1ce..a9ef42a7 100644 --- a/packages/gcc/10.3.0/0013-crystax.patch +++ b/packages/gcc/10.4.0/0013-crystax.patch @@ -12,7 +12,7 @@ Date: Thu Aug 20 19:11:07 2015 +0300 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c -@@ -10340,6 +10340,7 @@ +@@ -10353,6 +10353,7 @@ else if (!SYMBOL_REF_FAR_ADDR_P (op0) && (SYMBOL_REF_LOCAL_P (op0) || (HAVE_LD_PIE_COPYRELOC diff --git a/packages/gcc/10.3.0/0014-crystax.patch b/packages/gcc/10.4.0/0014-crystax.patch index 8f2eb438..8f2eb438 100644 --- a/packages/gcc/10.3.0/0014-crystax.patch +++ b/packages/gcc/10.4.0/0014-crystax.patch diff --git a/packages/gcc/10.3.0/0015-crystax.patch b/packages/gcc/10.4.0/0015-crystax.patch index 4f1c28ee..6c558916 100644 --- a/packages/gcc/10.3.0/0015-crystax.patch +++ b/packages/gcc/10.4.0/0015-crystax.patch @@ -15,7 +15,7 @@ Date: Mon Apr 14 21:05:51 2014 -0700 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c -@@ -24131,9 +24131,13 @@ +@@ -24179,9 +24179,13 @@ memsize = MEM_SIZE (x); /* Only certain alignment specifiers are supported by the hardware. */ diff --git a/packages/gcc/10.3.0/0016-crystax.patch b/packages/gcc/10.4.0/0016-crystax.patch index 8c21a1cc..8c21a1cc 100644 --- a/packages/gcc/10.3.0/0016-crystax.patch +++ b/packages/gcc/10.4.0/0016-crystax.patch diff --git a/packages/gcc/10.3.0/0017-crystax.patch b/packages/gcc/10.4.0/0017-crystax.patch index 28284ff4..28284ff4 100644 --- a/packages/gcc/10.3.0/0017-crystax.patch +++ b/packages/gcc/10.4.0/0017-crystax.patch diff --git a/packages/gcc/10.3.0/0018-isl-0.20.patch b/packages/gcc/10.4.0/0018-isl-0.20.patch index 3e14966d..3e14966d 100644 --- a/packages/gcc/10.3.0/0018-isl-0.20.patch +++ b/packages/gcc/10.4.0/0018-isl-0.20.patch diff --git a/packages/gcc/10.3.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch b/packages/gcc/10.4.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch index 00011692..00011692 100644 --- a/packages/gcc/10.3.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch +++ b/packages/gcc/10.4.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch diff --git a/packages/gcc/10.3.0/0020-libstdcxx-pure-stdio.patch b/packages/gcc/10.4.0/0020-libstdcxx-pure-stdio.patch index 7e3e6e65..7e3e6e65 100644 --- a/packages/gcc/10.3.0/0020-libstdcxx-pure-stdio.patch +++ b/packages/gcc/10.4.0/0020-libstdcxx-pure-stdio.patch diff --git a/packages/gcc/10.3.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch b/packages/gcc/10.4.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch index dc63fe5d..dc63fe5d 100644 --- a/packages/gcc/10.3.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch +++ b/packages/gcc/10.4.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch diff --git a/packages/gcc/10.3.0/0022-Remove-use-of-include_next-from-c-headers.patch b/packages/gcc/10.4.0/0022-Remove-use-of-include_next-from-c-headers.patch index b32fe559..b32fe559 100644 --- a/packages/gcc/10.3.0/0022-Remove-use-of-include_next-from-c-headers.patch +++ b/packages/gcc/10.4.0/0022-Remove-use-of-include_next-from-c-headers.patch diff --git a/packages/gcc/10.4.0/chksum b/packages/gcc/10.4.0/chksum new file mode 100644 index 00000000..1f582bce --- /dev/null +++ b/packages/gcc/10.4.0/chksum @@ -0,0 +1,8 @@ +md5 gcc-10.4.0.tar.xz d307b8748a74939359a5843f859a4dec +sha1 gcc-10.4.0.tar.xz 352ec04a356ce6ab36975f7a4a5a38464ee98004 +sha256 gcc-10.4.0.tar.xz c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1 +sha512 gcc-10.4.0.tar.xz 440c08ca746da450d9a1b35e8fd2305cb27e7e6987cd9d0f7d375f3b1fc9e4b0bd7acb3cd7bf795e72fcbead59cdef5b6c152862f5d35cd9fbfe6902101ce648 +md5 gcc-10.4.0.tar.gz 854262f3582222f5dc8f093ca556e910 +sha1 gcc-10.4.0.tar.gz 0dadb589fd3f5ade1c9ad7cf05ae5032715e74e6 +sha256 gcc-10.4.0.tar.gz ab1974017834430de27fd803ade4389602a7d6ca1362496c57bef384b2a4cb07 +sha512 gcc-10.4.0.tar.gz 462c1d022751277e0933ce1f71d7550cd65f6e36e3e2c7e0b19d5ef074f826f5a53746af6aba8e359c8e906128c4973b18be0b4ddf722b276dd87a21ad5761de diff --git a/packages/linux/4.19.241/version.desc b/packages/gcc/10.4.0/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/4.19.241/version.desc +++ b/packages/gcc/10.4.0/version.desc diff --git a/packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch b/packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch new file mode 100644 index 00000000..5e657bd2 --- /dev/null +++ b/packages/gcc/11.3.0/0010-fixinc-don-t-fix-machine-names-in-__has_include-.PR.patch @@ -0,0 +1,123 @@ +From de3f4ee9a5bd2adcb5ff2e1690db2567fda1473c Mon Sep 17 00:00:00 2001 +From: Xi Ruoyao <xry111@mengyan1223.wang> +Date: Mon, 28 Jun 2021 13:54:58 +0800 +Subject: [PATCH] fixinc: don't "fix" machine names in __has_include(...) + [PR91085] + +fixincludes/ + + PR other/91085 + * fixfixes.c (check_has_inc): New static function. + (machine_name_fix): Don't replace header names in + __has_include(...). + * inclhack.def (machine_name): Adjust test. + * tests/base/testing.h: Update. + +Upstream: 6bf383c37e6131a8e247e8a0997d55d65c830b6d +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> +--- + fixincludes/fixfixes.c | 45 ++++++++++++++++++++++++++++++-- + fixincludes/inclhack.def | 3 ++- + fixincludes/tests/base/testing.h | 2 +- + 3 files changed, 46 insertions(+), 4 deletions(-) + +diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c +index 5b23a8b640d..404b420f302 100644 +--- a/fixincludes/fixfixes.c ++++ b/fixincludes/fixfixes.c +@@ -477,6 +477,39 @@ FIX_PROC_HEAD( char_macro_def_fix ) + fputs (text, stdout); + } + ++/* Check if the pattern at pos is actually in a "__has_include(...)" ++ directive. Return the pointer to the ')' of this ++ "__has_include(...)" if it is, NULL otherwise. */ ++static const char * ++check_has_inc (const char *begin, const char *pos, const char *end) ++{ ++ static const char has_inc[] = "__has_include"; ++ const size_t has_inc_len = sizeof (has_inc) - 1; ++ const char *p; ++ ++ for (p = memmem (begin, pos - begin, has_inc, has_inc_len); ++ p != NULL; ++ p = memmem (p, pos - p, has_inc, has_inc_len)) ++ { ++ p += has_inc_len; ++ while (p < end && ISSPACE (*p)) ++ p++; ++ ++ /* "__has_include" may appear as "defined(__has_include)", ++ search for the next appearance then. */ ++ if (*p != '(') ++ continue; ++ ++ /* To avoid too much complexity, just hope there is never a ++ ')' in a header name. */ ++ p = memchr (p, ')', end - p); ++ if (p == NULL || p > pos) ++ return p; ++ } ++ ++ return NULL; ++} ++ + /* Fix for machine name #ifdefs that are not in the namespace reserved + by the C standard. They won't be defined if compiling with -ansi, + and the headers will break. We go to some trouble to only change +@@ -524,7 +557,7 @@ FIX_PROC_HEAD( machine_name_fix ) + /* If the 'name_pat' matches in between base and limit, we have + a bogon. It is not worth the hassle of excluding comments + because comments on #if/#ifdef lines are rare, and strings on +- such lines are illegal. ++ such lines are only legal in a "__has_include" directive. + + REG_NOTBOL means 'base' is not at the beginning of a line, which + shouldn't matter since the name_re has no ^ anchor, but let's +@@ -544,8 +577,16 @@ FIX_PROC_HEAD( machine_name_fix ) + break; + + p = base + match[0].rm_so; +- base += match[0].rm_eo; + ++ /* Check if the match is in __has_include(...) (PR 91085). */ ++ q = check_has_inc (base, p, limit); ++ if (q) ++ { ++ base = q + 1; ++ goto again; ++ } ++ ++ base += match[0].rm_eo; + /* One more test: if on the same line we have the same string + with the appropriate underscores, then leave it alone. + We want exactly two leading and trailing underscores. */ +diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def +index 066bef99162..b7ad6982e96 100644 +--- a/fixincludes/inclhack.def ++++ b/fixincludes/inclhack.def +@@ -3154,7 +3154,8 @@ fix = { + c_fix = machine_name; + + test_text = "/* MACH_DIFF: */\n" +- "#if defined( i386 ) || defined( sparc ) || defined( vax )" ++ "#if defined( i386 ) || defined( sparc ) || defined( vax ) || " ++ "defined( linux ) || __has_include ( <linux.h> )" + "\n/* no uniform test, so be careful :-) */"; + }; + +diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h +index cf95321fb86..8b3accaf04e 100644 +--- a/fixincludes/tests/base/testing.h ++++ b/fixincludes/tests/base/testing.h +@@ -64,7 +64,7 @@ BSD43__IOWR('T', 1) /* Some are multi-line */ + + #if defined( MACHINE_NAME_CHECK ) + /* MACH_DIFF: */ +-#if defined( i386 ) || defined( sparc ) || defined( vax ) ++#if defined( i386 ) || defined( sparc ) || defined( vax ) || defined( linux ) || __has_include ( <linux.h> ) + /* no uniform test, so be careful :-) */ + #endif /* MACHINE_NAME_CHECK */ + +-- +2.37.3 diff --git a/packages/gcc/11.3.0/0010-libsanitizer-mips64-Set-struct_kernel_stat_sz-to-mat.patch b/packages/gcc/11.3.0/0010-libsanitizer-mips64-Set-struct_kernel_stat_sz-to-mat.patch deleted file mode 100644 index 8d05ca65..00000000 --- a/packages/gcc/11.3.0/0010-libsanitizer-mips64-Set-struct_kernel_stat_sz-to-mat.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ac6e15a2776e8fffdbd108213e8690c9f30a7380 Mon Sep 17 00:00:00 2001 -From: Chris Packham <chris.packham@alliedtelesis.co.nz> -Date: Mon, 16 May 2022 20:55:36 +1200 -Subject: [PATCH] libsanitizer: mips64: Set struct_kernel_stat_sz to match the - kernel - -The kernel's struct stat is 104 bytes when compiling for -_MIPS_SIM_ABI64. Set struct_kernel_stat_sz to match. - -Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> -Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105614 ---- - libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index 83861105a509..326419a5d613 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -83,7 +83,7 @@ const unsigned struct_kernel_stat64_sz = 104; - #elif defined(__mips__) - const unsigned struct_kernel_stat_sz = SANITIZER_ANDROID - ? FIRST_32_SECOND_64(104, 128) -- : FIRST_32_SECOND_64(144, 216); -+ : FIRST_32_SECOND_64(144, 104); - const unsigned struct_kernel_stat64_sz = 104; - #elif defined(__s390__) && !defined(__s390x__) - const unsigned struct_kernel_stat_sz = 64; --- -2.36.1 - diff --git a/packages/gcc/12.1.0/chksum b/packages/gcc/12.1.0/chksum deleted file mode 100644 index 9ceca4ae..00000000 --- a/packages/gcc/12.1.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gcc-12.1.0.tar.xz ed45b55ee859ada4b25a1e76e0c4d966 -sha1 gcc-12.1.0.tar.xz 81614dacd8625a3896a57df375b695dba0c75f36 -sha256 gcc-12.1.0.tar.xz 62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b -sha512 gcc-12.1.0.tar.xz 2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900 -md5 gcc-12.1.0.tar.gz 7854cdccc3a7988aa37fb0d0038b8096 -sha1 gcc-12.1.0.tar.gz 7e79c695a0380ac838fa7c876a121cd28a73a9f5 -sha256 gcc-12.1.0.tar.gz e88a004a14697bbbaba311f38a938c716d9a652fd151aaaa4cf1b5b99b90e2de -sha512 gcc-12.1.0.tar.gz 32da0e69478b6848e187c3a37579b76d0176b34cdb94726bf3ce7fdda7764965adbb5d2013de5a9b254adad9eb1cfaff90f4ba8da54cfe56e46b9cbfe8882a3b diff --git a/packages/gcc/12.1.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/12.2.0/0000-libtool-leave-framework-alone.patch index 1a86e415..1a86e415 100644 --- a/packages/gcc/12.1.0/0000-libtool-leave-framework-alone.patch +++ b/packages/gcc/12.2.0/0000-libtool-leave-framework-alone.patch diff --git a/packages/gcc/12.1.0/0001-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/12.2.0/0001-gcc-plugin-POSIX-include-sys-select-h.patch index 5f9a07a2..5f9a07a2 100644 --- a/packages/gcc/12.1.0/0001-gcc-plugin-POSIX-include-sys-select-h.patch +++ b/packages/gcc/12.2.0/0001-gcc-plugin-POSIX-include-sys-select-h.patch diff --git a/packages/gcc/12.1.0/0002-arm-softfloat-libgcc.patch b/packages/gcc/12.2.0/0002-arm-softfloat-libgcc.patch index d9800365..d9800365 100644 --- a/packages/gcc/12.1.0/0002-arm-softfloat-libgcc.patch +++ b/packages/gcc/12.2.0/0002-arm-softfloat-libgcc.patch diff --git a/packages/gcc/12.1.0/0003-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/12.2.0/0003-libgcc-disable-split-stack-nothreads.patch index df91a9ff..df91a9ff 100644 --- a/packages/gcc/12.1.0/0003-libgcc-disable-split-stack-nothreads.patch +++ b/packages/gcc/12.2.0/0003-libgcc-disable-split-stack-nothreads.patch diff --git a/packages/gcc/12.1.0/0004-Remove-use-of-include_next-from-c-headers.patch b/packages/gcc/12.2.0/0004-Remove-use-of-include_next-from-c-headers.patch index 920e64da..920e64da 100644 --- a/packages/gcc/12.1.0/0004-Remove-use-of-include_next-from-c-headers.patch +++ b/packages/gcc/12.2.0/0004-Remove-use-of-include_next-from-c-headers.patch diff --git a/packages/gcc/12.2.0/chksum b/packages/gcc/12.2.0/chksum new file mode 100644 index 00000000..52e3b629 --- /dev/null +++ b/packages/gcc/12.2.0/chksum @@ -0,0 +1,8 @@ +md5 gcc-12.2.0.tar.xz 73bafd0af874439dcdb9fc063b6fb069 +sha1 gcc-12.2.0.tar.xz 5dce6dc0091b8049b530d1587513a07201691760 +sha256 gcc-12.2.0.tar.xz e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff +sha512 gcc-12.2.0.tar.xz e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173 +md5 gcc-12.2.0.tar.gz d7644b494246450468464ffc2c2b19c3 +sha1 gcc-12.2.0.tar.gz 528e27c3c4a0bb9b13ee2a4c53bb1cf048fc1fe4 +sha256 gcc-12.2.0.tar.gz ac6b317eb4d25444d87cf29c0d141dedc1323a1833ec9995211b13e1a851261c +sha512 gcc-12.2.0.tar.gz 36ab2267540f205b148037763b3806558e796d564ca7831799c88abcf03393c6dc2cdc9d53e8f094f6dc1245e47a406e1782604eb9d119410d406032f59c1544 diff --git a/packages/linux/4.9.312/version.desc b/packages/gcc/12.2.0/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/4.9.312/version.desc +++ b/packages/gcc/12.2.0/version.desc diff --git a/packages/glibc-oracle/2.17-317.0.3/version.desc b/packages/glibc-oracle/2.17-317.0.3/version.desc deleted file mode 100644 index f818679c..00000000 --- a/packages/glibc-oracle/2.17-317.0.3/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -repository_branch='oracle/glibc/ol7-u9' -version_number='2.17' diff --git a/packages/glibc-oracle/2.17/version.desc b/packages/glibc-oracle/2.17/version.desc new file mode 100644 index 00000000..23e5c926 --- /dev/null +++ b/packages/glibc-oracle/2.17/version.desc @@ -0,0 +1,14 @@ +# Since Oracle provides different branches for binutils +# depending of the architecture: +# +# ARM64: 'oracle/glibc/ol7-u9-aarch64' +# ARM32: 'oracle/glibc/ol7-u9' +# +# branch name is adjusted in: +# samples/{aarch64,arm}*ol7u9-* +# +# using CT_GLIBC_ORACLE_DEVEL_BRANCH +# +# EoS date for this package in OL7: Jul 2024. +version_number='2.17-317.0.3' +obsolete='yes' diff --git a/packages/glibc-oracle/2.28/version.desc b/packages/glibc-oracle/2.28/version.desc index 05402ba2..fd7da0a1 100644 --- a/packages/glibc-oracle/2.28/version.desc +++ b/packages/glibc-oracle/2.28/version.desc @@ -1,2 +1,2 @@ -repository_branch='oracle/glibc/ol8-u6' -version_number='2.28-189.1.0.1' +repository_branch='oracle/glibc/ol8-u7' +version_number='2.28-211.0.1' diff --git a/packages/glibc-oracle/git-ea029c9b/0000-backport-missing-header-file.patch b/packages/glibc-oracle/git-ea029c9b/0000-backport-missing-header-file.patch new file mode 100644 index 00000000..563c98bb --- /dev/null +++ b/packages/glibc-oracle/git-ea029c9b/0000-backport-missing-header-file.patch @@ -0,0 +1,34 @@ +This patch is a backport from glibc commits: +0b8dedd38f: Add-sys-auxv.h-wrapper-to-include-sys +d6bd839b9a: Add-a-way-to-bypass-the-PLT-when-calling-getauxval + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3, or (at your option) any +later version. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +diff -Nur glibc/include/sys/auxv.h glibc-oracle/include/sys/auxv.h +--- glibc/include/sys/auxv.h 1969-12-31 18:00:00.000000000 -0600 ++++ glibc-oracle/include/sys/auxv.h 2022-06-16 12:25:09.112414961 -0500 +@@ -0,0 +1,8 @@ ++#include <misc/sys/auxv.h> ++ ++#ifndef _ISOMAC ++ ++extern __typeof (getauxval) __getauxval; ++libc_hidden_proto (__getauxval) ++ ++#endif /* !_ISOMAC */ +diff -Nur glibc/misc/getauxval.c glibc-oracle/misc/getauxval.c +--- glibc/misc/getauxval.c 2022-06-16 11:52:08.728852269 -0500 ++++ glibc-oracle/misc/getauxval.c 2022-06-16 12:25:09.112414961 -0500 +@@ -36,3 +36,4 @@ + } + + weak_alias (__getauxval, getauxval) ++libc_hidden_def (__getauxval) diff --git a/packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..b8c927d6 --- /dev/null +++ b/packages/glibc/2.26/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + objdir must be defined by the build-directory Makefile. + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -858,7 +874,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -868,7 +868,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -885,7 +885,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..3ff2df01 --- /dev/null +++ b/packages/glibc/2.27/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + objdir must be defined by the build-directory Makefile. + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -875,7 +891,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -871,7 +871,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -888,7 +888,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..9a4cdec5 --- /dev/null +++ b/packages/glibc/2.28/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + objdir must be defined by the build-directory Makefile. + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -878,7 +894,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -875,7 +875,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -892,7 +892,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..33dab461 --- /dev/null +++ b/packages/glibc/2.29/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + objdir must be defined by the build-directory Makefile. + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -880,7 +896,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -805,7 +805,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -822,7 +822,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..e34693eb --- /dev/null +++ b/packages/glibc/2.30/0004-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + objdir must be defined by the build-directory Makefile. + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -895,7 +911,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -805,7 +805,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -822,7 +822,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..d08583c5 --- /dev/null +++ b/packages/glibc/2.31/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + objdir must be defined by the build-directory Makefile. + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -892,7 +908,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -805,7 +805,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -822,7 +822,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..49dac68c --- /dev/null +++ b/packages/glibc/2.32/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + $(error objdir must be defined by the build-directory Makefile) + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -892,7 +908,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -803,7 +803,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -820,7 +820,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..90b23f5f --- /dev/null +++ b/packages/glibc/2.33/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + $(error objdir must be defined by the build-directory Makefile) + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -895,7 +911,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -803,7 +803,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -820,7 +820,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..f1e7edf4 --- /dev/null +++ b/packages/glibc/2.34/0002-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -42,6 +42,22 @@ + $(error objdir must be defined by the build-directory Makefile) + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -903,7 +919,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -804,7 +804,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -821,7 +821,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..ad482403 --- /dev/null +++ b/packages/glibc/2.35/0003-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,105 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +--- a/Makeconfig ++++ b/Makeconfig +@@ -43,6 +43,22 @@ + $(error objdir must be defined by the build-directory Makefile) + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -920,7 +936,7 @@ + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +--- a/Makerules ++++ b/Makerules +@@ -802,7 +802,7 @@ + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -819,7 +819,7 @@ + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := diff --git a/packages/glibc/2.36/0000-typedef-caddr.patch b/packages/glibc/2.36/0000-typedef-caddr.patch new file mode 100644 index 00000000..a328da1c --- /dev/null +++ b/packages/glibc/2.36/0000-typedef-caddr.patch @@ -0,0 +1,17 @@ +--- + posix/sys/types.h | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/posix/sys/types.h ++++ b/posix/sys/types.h +@@ -112,7 +112,10 @@ + #ifdef __USE_MISC + # ifndef __daddr_t_defined + typedef __daddr_t daddr_t; ++# if ! defined(caddr_t) && ! defined(__caddr_t_defined) + typedef __caddr_t caddr_t; ++# define __caddr_t_defined ++# endif + # define __daddr_t_defined + # endif + #endif diff --git a/packages/glibc/2.36/0001-Add-ARC700-support.patch b/packages/glibc/2.36/0001-Add-ARC700-support.patch new file mode 100644 index 00000000..ab997dbc --- /dev/null +++ b/packages/glibc/2.36/0001-Add-ARC700-support.patch @@ -0,0 +1,73 @@ +From 6349ae7c3d96c8d00179e290d1ccf8a2d8438cc8 Mon Sep 17 00:00:00 2001 +From: Rosen Penev <rosenp@gmail.com> +Date: Sat, 13 Feb 2021 17:08:21 +0300 +Subject: [PATCH] Add ARC700 support + +glibc does not officially support ARC700 so this adds the missing +pieces. I looked at uClibc-ng and a patch by Synopsis for glibc. + +[Alexey] Taken from https://github.com/openwrt/openwrt/commit/33646a51abcf15ff5c5363848287e1ed778b7467 + +Signed-off-by: Rosen Penev <rosenp@gmail.com> +Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> +--- + sysdeps/arc/atomic-machine.h | 4 ++++ + sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ + sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ + 3 files changed, 17 insertions(+) + +--- a/sysdeps/arc/atomic-machine.h ++++ b/sysdeps/arc/atomic-machine.h +@@ -52,6 +52,10 @@ + __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ + mem, new, old, __ATOMIC_ACQUIRE) + ++#ifdef __ARC700__ ++#define atomic_full_barrier() ({ asm volatile ("sync":::"memory"); }) ++#else + #define atomic_full_barrier() ({ asm volatile ("dmb 3":::"memory"); }) ++#endif + + #endif /* _ARC_BITS_ATOMIC_H */ +--- a/sysdeps/unix/sysv/linux/arc/syscall.S ++++ b/sysdeps/unix/sysv/linux/arc/syscall.S +@@ -24,8 +24,13 @@ + mov_s r1, r2 + mov_s r2, r3 + mov_s r3, r4 ++#ifdef __ARC700__ ++ mov r4, r5 ++ mov r5, r6 ++#else + mov_s r4, r5 + mov_s r5, r6 ++#endif + + ARC_TRAP_INSN + brhi r0, -4096, L (call_syscall_err) +--- a/sysdeps/unix/sysv/linux/arc/sysdep.h ++++ b/sysdeps/unix/sysv/linux/arc/sysdep.h +@@ -128,7 +128,11 @@ + mov r8, __NR_##syscall_name ASM_LINE_SEP \ + ARC_TRAP_INSN ASM_LINE_SEP + ++# ifdef __ARC700__ ++# define ARC_TRAP_INSN trap0 ++# else + # define ARC_TRAP_INSN trap_s 0 ++# endif + + #else /* !__ASSEMBLER__ */ + +@@ -137,7 +141,11 @@ + hidden_proto (__syscall_error) + # endif + ++# ifdef __ARC700__ ++# define ARC_TRAP_INSN "trap0 \n\t" ++# else + # define ARC_TRAP_INSN "trap_s 0 \n\t" ++#endif + + # undef INTERNAL_SYSCALL_NCS + # define INTERNAL_SYSCALL_NCS(number, nr_args, args...) \ diff --git a/packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch b/packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch new file mode 100644 index 00000000..bcebfe21 --- /dev/null +++ b/packages/glibc/2.36/0002-Mimic-kernel-defition-for-BLOCK_SIZE.patch @@ -0,0 +1,30 @@ +From 4dad97e2a2e510c6b53a0add29a2188714fcf4ab Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Wed, 10 Aug 2022 14:24:45 -0300 +Subject: [PATCH] linux: Mimic kernel defition for BLOCK_SIZE + +To avoid possible warnings if the kernel header is included before +sys/mount.h. + +Reviewed-by: Florian Weimer <fweimer@redhat.com> +(cherry picked from commit c68b6044bc7945716431f1adc091b17c39b80a06) +--- + sysdeps/unix/sysv/linux/sys/mount.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h +index f965986ba8..df6b0dbb42 100644 +--- a/sysdeps/unix/sysv/linux/sys/mount.h ++++ b/sysdeps/unix/sysv/linux/sys/mount.h +@@ -27,8 +27,8 @@ + #include <stddef.h> + #include <sys/ioctl.h> + +-#define BLOCK_SIZE 1024 + #define BLOCK_SIZE_BITS 10 ++#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS) + + + /* These are the fs-independent mount-flags: up to 16 flags are +-- +2.31.1 diff --git a/packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch b/packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch new file mode 100644 index 00000000..498d176e --- /dev/null +++ b/packages/glibc/2.36/0003-Use-compile_c_snippet-to-check-linux_mount.h.patch @@ -0,0 +1,32 @@ +From d48813227b63a0d92ea357ea0733229ed74e31ab Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Wed, 10 Aug 2022 14:24:46 -0300 +Subject: [PATCH] linux: Use compile_c_snippet to check linux/mount.h + availability + +Checked on x86_64-linux-gnu. + +Reviewed-by: Florian Weimer <fweimer@redhat.com> +(cherry picked from commit e1226cdc6b209539a92d32d5b620ba53fd35abf3) +--- + sysdeps/unix/sysv/linux/tst-mount-consts.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index a62f803123..be2ef2daf1 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -33,6 +33,11 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + ++ if glibcextract.compile_c_snippet( ++ '#include <linux/mount.h>', ++ args.cc).returncode != 0: ++ sys.exit (77) ++ + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) + # Constants in glibc were updated to match Linux v5.16. When glibc + # constants are updated this value should be updated to match the +-- +2.31.1 diff --git a/packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch b/packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch new file mode 100644 index 00000000..a9cdc5b1 --- /dev/null +++ b/packages/glibc/2.36/0004-Fix_sys_mount.h_usage_with_kernel_headers.patch @@ -0,0 +1,336 @@ +From bb1e8b0ca99b5cbedfae3e6245528a87d95ff3e2 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Wed, 10 Aug 2022 14:24:47 -0300 +Subject: [PATCH] linux: Fix sys/mount.h usage with kernel headers + +Now that kernel exports linux/mount.h and includes it on linux/fs.h, +its definitions might clash with glibc exports sys/mount.h. To avoid +the need to rearrange the Linux header to be always after glibc one, +the glibc sys/mount.h is changed to: + + 1. Undefine the macros also used as enum constants. This covers prior + inclusion of <linux/mount.h> (for instance MS_RDONLY). + + 2. Include <linux/mount.h> based on the usual __has_include check + (needs to use __has_include ("linux/mount.h") to paper over GCC + bugs. + + 3. Define enum fsconfig_command only if FSOPEN_CLOEXEC is not defined. + (FSOPEN_CLOEXEC should be a very close proxy.) + + 4. Define struct mount_attr if MOUNT_ATTR_SIZE_VER0 is not defined. + (Added in the same commit on the Linux side.) + +This patch also adds some tests to check if including linux/fs.h and +linux/mount.h after and before sys/mount.h does work. + +Checked on x86_64-linux-gnu. + +Reviewed-by: Florian Weimer <fweimer@redhat.com> +(cherry picked from commit 774058d72942249f71d74e7f2b639f77184160a6) +--- + sysdeps/unix/sysv/linux/Makefile | 8 +++ + sysdeps/unix/sysv/linux/sys/mount.h | 71 +++++++++++++++++--- + sysdeps/unix/sysv/linux/tst-mount-compile.py | 66 ++++++++++++++++++ + 3 files changed, 137 insertions(+), 8 deletions(-) + create mode 100755 sysdeps/unix/sysv/linux/tst-mount-compile.py + +diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile +index a139a16532..3ceda9fdbf 100644 +--- a/sysdeps/unix/sysv/linux/Makefile ++++ b/sysdeps/unix/sysv/linux/Makefile +@@ -265,6 +265,14 @@ $(objpfx)tst-mount-consts.out: ../sysdeps/unix/sysv/linux/tst-mount-consts.py + < /dev/null > $@ 2>&1; $(evaluate-test) + $(objpfx)tst-mount-consts.out: $(sysdeps-linux-python-deps) + ++tests-special += $(objpfx)tst-mount-compile.out ++$(objpfx)tst-mount-compile.out: ../sysdeps/unix/sysv/linux/tst-mount-compile.py ++ $(sysdeps-linux-python) \ ++ ../sysdeps/unix/sysv/linux/tst-mount-compile.py \ ++ $(sysdeps-linux-python-cc) \ ++ < /dev/null > $@ 2>&1; $(evaluate-test) ++$(objpfx)tst-mount-compile.out: $(sysdeps-linux-python-deps) ++ + tst-rseq-disable-ENV = GLIBC_TUNABLES=glibc.pthread.rseq=0 + + endif # $(subdir) == misc +diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h +index df6b0dbb42..2e3fd6a7fe 100644 +--- a/sysdeps/unix/sysv/linux/sys/mount.h ++++ b/sysdeps/unix/sysv/linux/sys/mount.h +@@ -27,6 +27,13 @@ + #include <stddef.h> + #include <sys/ioctl.h> + ++#ifdef __has_include ++# if __has_include ("linux/mount.h") ++# include "linux/mount.h" ++# endif ++#endif ++ ++ + #define BLOCK_SIZE_BITS 10 + #define BLOCK_SIZE (1<<BLOCK_SIZE_BITS) + +@@ -35,69 +42,98 @@ + supported */ + enum + { ++#undef MS_RDONLY + MS_RDONLY = 1, /* Mount read-only. */ + #define MS_RDONLY MS_RDONLY ++#undef MS_NOSUID + MS_NOSUID = 2, /* Ignore suid and sgid bits. */ + #define MS_NOSUID MS_NOSUID ++#undef MS_NODEV + MS_NODEV = 4, /* Disallow access to device special files. */ + #define MS_NODEV MS_NODEV ++#undef MS_NOEXEC + MS_NOEXEC = 8, /* Disallow program execution. */ + #define MS_NOEXEC MS_NOEXEC ++#undef MS_SYNCHRONOUS + MS_SYNCHRONOUS = 16, /* Writes are synced at once. */ + #define MS_SYNCHRONOUS MS_SYNCHRONOUS ++#undef MS_REMOUNT + MS_REMOUNT = 32, /* Alter flags of a mounted FS. */ + #define MS_REMOUNT MS_REMOUNT ++#undef MS_MANDLOCK + MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */ + #define MS_MANDLOCK MS_MANDLOCK ++#undef MS_DIRSYNC + MS_DIRSYNC = 128, /* Directory modifications are synchronous. */ + #define MS_DIRSYNC MS_DIRSYNC ++#undef MS_NOSYMFOLLOW + MS_NOSYMFOLLOW = 256, /* Do not follow symlinks. */ + #define MS_NOSYMFOLLOW MS_NOSYMFOLLOW ++#undef MS_NOATIME + MS_NOATIME = 1024, /* Do not update access times. */ + #define MS_NOATIME MS_NOATIME ++#undef MS_NODIRATIME + MS_NODIRATIME = 2048, /* Do not update directory access times. */ + #define MS_NODIRATIME MS_NODIRATIME ++#undef MS_BIND + MS_BIND = 4096, /* Bind directory at different place. */ + #define MS_BIND MS_BIND ++#undef MS_MOVE + MS_MOVE = 8192, + #define MS_MOVE MS_MOVE ++#undef MS_REC + MS_REC = 16384, + #define MS_REC MS_REC ++#undef MS_SILENT + MS_SILENT = 32768, + #define MS_SILENT MS_SILENT ++#undef MS_POSIXACL + MS_POSIXACL = 1 << 16, /* VFS does not apply the umask. */ + #define MS_POSIXACL MS_POSIXACL ++#undef MS_UNBINDABLE + MS_UNBINDABLE = 1 << 17, /* Change to unbindable. */ + #define MS_UNBINDABLE MS_UNBINDABLE ++#undef MS_PRIVATE + MS_PRIVATE = 1 << 18, /* Change to private. */ + #define MS_PRIVATE MS_PRIVATE ++#undef MS_SLAVE + MS_SLAVE = 1 << 19, /* Change to slave. */ + #define MS_SLAVE MS_SLAVE ++#undef MS_SHARED + MS_SHARED = 1 << 20, /* Change to shared. */ + #define MS_SHARED MS_SHARED ++#undef MS_RELATIME + MS_RELATIME = 1 << 21, /* Update atime relative to mtime/ctime. */ + #define MS_RELATIME MS_RELATIME ++#undef MS_KERNMOUNT + MS_KERNMOUNT = 1 << 22, /* This is a kern_mount call. */ + #define MS_KERNMOUNT MS_KERNMOUNT ++#undef MS_I_VERSION + MS_I_VERSION = 1 << 23, /* Update inode I_version field. */ + #define MS_I_VERSION MS_I_VERSION ++#undef MS_STRICTATIME + MS_STRICTATIME = 1 << 24, /* Always perform atime updates. */ + #define MS_STRICTATIME MS_STRICTATIME ++#undef MS_LAZYTIME + MS_LAZYTIME = 1 << 25, /* Update the on-disk [acm]times lazily. */ + #define MS_LAZYTIME MS_LAZYTIME ++#undef MS_ACTIVE + MS_ACTIVE = 1 << 30, + #define MS_ACTIVE MS_ACTIVE ++#undef MS_NOUSER + MS_NOUSER = 1 << 31 + #define MS_NOUSER MS_NOUSER + }; + + /* Flags that can be altered by MS_REMOUNT */ ++#undef MS_RMT_MASK + #define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION \ + |MS_LAZYTIME) + + + /* Magic mount flag number. Has to be or-ed to the flag values. */ + ++#undef MS_MGC_VAL + #define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */ + #define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */ + +@@ -106,20 +142,35 @@ enum + is probably as bad and I don't want to create yet another include + file. */ + ++#undef BLKROSET + #define BLKROSET _IO(0x12, 93) /* Set device read-only (0 = read-write). */ ++#undef BLKROGET + #define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */ ++#undef BLKRRPART + #define BLKRRPART _IO(0x12, 95) /* Re-read partition table. */ ++#undef BLKGETSIZE + #define BLKGETSIZE _IO(0x12, 96) /* Return device size. */ ++#undef BLKFLSBUF + #define BLKFLSBUF _IO(0x12, 97) /* Flush buffer cache. */ ++#undef BLKRASET + #define BLKRASET _IO(0x12, 98) /* Set read ahead for block device. */ ++#undef BLKRAGET + #define BLKRAGET _IO(0x12, 99) /* Get current read ahead setting. */ ++#undef BLKFRASET + #define BLKFRASET _IO(0x12,100) /* Set filesystem read-ahead. */ ++#undef BLKFRAGET + #define BLKFRAGET _IO(0x12,101) /* Get filesystem read-ahead. */ ++#undef BLKSECTSET + #define BLKSECTSET _IO(0x12,102) /* Set max sectors per request. */ ++#undef BLKSECTGET + #define BLKSECTGET _IO(0x12,103) /* Get max sectors per request. */ ++#undef BLKSSZGET + #define BLKSSZGET _IO(0x12,104) /* Get block device sector size. */ ++#undef BLKBSZGET + #define BLKBSZGET _IOR(0x12,112,size_t) ++#undef BLKBSZSET + #define BLKBSZSET _IOW(0x12,113,size_t) ++#undef BLKGETSIZE64 + #define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size. */ + + +@@ -157,6 +208,7 @@ enum + #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 /* Do not follow symlinks. */ + + ++#ifndef MOUNT_ATTR_SIZE_VER0 + /* For mount_setattr. */ + struct mount_attr + { +@@ -165,6 +217,7 @@ struct mount_attr + uint64_t propagation; + uint64_t userns_fd; + }; ++#endif + + #define MOUNT_ATTR_SIZE_VER0 32 /* sizeof first published struct */ + +@@ -185,26 +238,28 @@ struct mount_attr + #define FSPICK_EMPTY_PATH 0x00000008 + + ++#ifndef FSOPEN_CLOEXEC + /* The type of fsconfig call made. */ + enum fsconfig_command + { + FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ +-#define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG ++# define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG + FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ +-#define FSCONFIG_SET_STRING FSCONFIG_SET_STRING ++# define FSCONFIG_SET_STRING FSCONFIG_SET_STRING + FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ +-#define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY ++# define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY + FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ +-#define FSCONFIG_SET_PATH FSCONFIG_SET_PATH ++# define FSCONFIG_SET_PATH FSCONFIG_SET_PATH + FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ +-#define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY ++# define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY + FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ +-#define FSCONFIG_SET_FD FSCONFIG_SET_FD ++# define FSCONFIG_SET_FD FSCONFIG_SET_FD + FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ +-#define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE ++# define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE + FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ +-#define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE ++# define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE + }; ++#endif + + /* open_tree flags. */ + #define OPEN_TREE_CLONE 1 /* Clone the target tree and attach the clone */ +diff --git a/sysdeps/unix/sysv/linux/tst-mount-compile.py b/sysdeps/unix/sysv/linux/tst-mount-compile.py +new file mode 100755 +index 0000000000..0ec74d4e0b +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/tst-mount-compile.py +@@ -0,0 +1,66 @@ ++#!/usr/bin/python3 ++# Check if glibc provided sys/mount.h can be used along related kernel ++# headers. ++# Copyright (C) 2022 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# <https://www.gnu.org/licenses/>. ++ ++import argparse ++import sys ++ ++import glibcextract ++ ++ ++def main(): ++ """The main entry point.""" ++ parser = argparse.ArgumentParser( ++ description='Check if glibc provided sys/mount.h can be ' ++ ' used along related kernel headers.') ++ parser.add_argument('--cc', metavar='CC', ++ help='C compiler (including options) to use') ++ args = parser.parse_args() ++ ++ if glibcextract.compile_c_snippet( ++ '#include <linux/mount.h>', ++ args.cc).returncode != 0: ++ sys.exit (77) ++ ++ def check(testname, snippet): ++ # Add -Werror to catch macro redefinitions and _ISOMAC to avoid ++ # internal glibc definitions. ++ r = glibcextract.compile_c_snippet(snippet, args.cc, ++ '-Werror -D_ISOMAC') ++ if r.returncode != 0: ++ print('error: test {}:\n{}'.format(testname, r.output.decode())) ++ return r.returncode ++ ++ status = max( ++ check("sys/mount.h + linux/mount.h", ++ "#include <sys/mount.h>\n" ++ "#include <linux/mount.h>"), ++ check("sys/mount.h + linux/fs.h", ++ "#include <sys/mount.h>\n" ++ "#include <linux/fs.h>"), ++ check("linux/mount.h + sys/mount.h", ++ "#include <linux/mount.h>\n" ++ "#include <sys/mount.h>"), ++ check("linux/fs.h + sys/mount.h", ++ "#include <linux/fs.h>\n" ++ "#include <sys/mount.h>")) ++ sys.exit(status) ++ ++if __name__ == '__main__': ++ main() +-- +2.31.1 diff --git a/packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch b/packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch new file mode 100644 index 00000000..da249f36 --- /dev/null +++ b/packages/glibc/2.36/0005-Fix-enum-fsconfig_command-detection-in-sys_mount.h.patch @@ -0,0 +1,43 @@ +From 3bd3c612e98a53ce60ed972f5cd2b90628b3cba5 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Tue, 16 Aug 2022 09:25:23 +0200 +Subject: [PATCH] Linux: Fix enum fsconfig_command detection in <sys/mount.h> + +The #ifdef FSOPEN_CLOEXEC check did not work because the macro +was always defined in this header prior to the check, so that +the <linux/mount.h> contents did not matter. + +Fixes commit 774058d72942249f71d74e7f2b639f77184160a6 +("linux: Fix sys/mount.h usage with kernel headers"). + +(cherry picked from commit 2955ef4b7c9b56fcd7abfeddef7ee83c60abff98) +--- + sysdeps/unix/sysv/linux/sys/mount.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h +index 2e3fd6a7fe..19841d0738 100644 +--- a/sysdeps/unix/sysv/linux/sys/mount.h ++++ b/sysdeps/unix/sysv/linux/sys/mount.h +@@ -188,9 +188,6 @@ enum + }; + + +-/* fsopen flags. */ +-#define FSOPEN_CLOEXEC 0x00000001 +- + /* fsmount flags. */ + #define FSMOUNT_CLOEXEC 0x00000001 + +@@ -261,6 +258,9 @@ enum fsconfig_command + }; + #endif + ++/* fsopen flags. */ ++#define FSOPEN_CLOEXEC 0x00000001 ++ + /* open_tree flags. */ + #define OPEN_TREE_CLONE 1 /* Clone the target tree and attach the clone */ + #define OPEN_TREE_CLOEXEC O_CLOEXEC /* Close the file on execve() */ +-- +2.31.1 diff --git a/packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch b/packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch new file mode 100644 index 00000000..c4475990 --- /dev/null +++ b/packages/glibc/2.36/0006-Makerules-fix-MAKEFLAGS-assignment-for-upcoming-make.patch @@ -0,0 +1,114 @@ +From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Tue, 13 Sep 2022 13:39:13 -0400 +Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 + [BZ# 29564] + +make-4.4 will add long flags to MAKEFLAGS variable: + + * WARNING: Backward-incompatibility! + Previously only simple (one-letter) options were added to the MAKEFLAGS + variable that was visible while parsing makefiles. Now, all options + are available in MAKEFLAGS. + +This causes locale builds to fail when long options are used: + + $ make --shuffle + ... + make -C localedata install-locales + make: invalid shuffle mode: '1662724426r' + +The change fixes it by passing eash option via whitespace and dashes. +That way option is appended to both single-word form and whitespace +separated form. + +While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering +out --long-options. Otherwise options like --shuffle flag enable silent +mode unintentionally. $(silent-make) variable consolidates the checks. + +Resolves: BZ# 29564 + +CC: Paul Smith <psmith@gnu.org> +CC: Siddhesh Poyarekar <siddhesh@gotplt.org> +Signed-off-by: Sergei Trofimovich <slyich@gmail.com> +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> +--- + Makeconfig | 18 +++++++++++++++++- + Makerules | 4 ++-- + elf/rtld-Rules | 2 +- + 3 files changed, 20 insertions(+), 4 deletions(-) + +diff --git a/Makeconfig b/Makeconfig +index f8164a0025..842f49eb58 100644 +--- a/Makeconfig ++++ b/Makeconfig +@@ -43,6 +43,22 @@ else + $(error objdir must be defined by the build-directory Makefile) + endif + ++# Did we request 'make -s' run? "yes" or "no". ++# Starting from make-4.4 MAKEFLAGS now contains long ++# options like '--shuffle'. To detect presence of 's' ++# we pick first word with short options. Long options ++# are guaranteed to come after whitespace. We use '-' ++# prefix to always have a word before long options ++# even if no short options were passed. ++# Typical MAKEFLAGS values to watch for: ++# "rs --shuffle=42" (silent) ++# " --shuffle" (not silent) ++ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) ++silent-make := no ++else ++silent-make := yes ++endif ++ + # Root of the sysdeps tree. + sysdep_dir := $(..)sysdeps + export sysdep_dir := $(sysdep_dir) +@@ -917,7 +933,7 @@ endif + # umpteen zillion filenames along with it (we use `...' instead) + # but we don't want this echoing done when the user has said + # he doesn't want to see commands echoed by using -s. +-ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++ifeq ($(silent-make),yes) # if -s + +cmdecho := echo >/dev/null + else # not -s + +cmdecho := echo +diff --git a/Makerules b/Makerules +index d1e139d03c..09c0cf8357 100644 +--- a/Makerules ++++ b/Makerules +@@ -794,7 +794,7 @@ endif + # Maximize efficiency by minimizing the number of rules. + .SUFFIXES: # Clear the suffix list. We don't use suffix rules. + # Don't define any builtin rules. +-MAKEFLAGS := $(MAKEFLAGS)r ++MAKEFLAGS := $(MAKEFLAGS) -r + + # Generic rule for making directories. + %/: +@@ -811,7 +811,7 @@ MAKEFLAGS := $(MAKEFLAGS)r + .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +diff --git a/elf/rtld-Rules b/elf/rtld-Rules +index ca00dd1fe2..3c5e273f2b 100644 +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -52,7 +52,7 @@ $(objpfx)rtld-libc.a: $(foreach dir,$(rtld-subdirs),\ + mv -f $@T $@ + + # Use the verbose option of ar and tar when not running silently. +-ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s ++ifeq ($(silent-make),no) # if not -s + verbose := v + else # -s + verbose := +-- +2.38.1 + diff --git a/packages/glibc/2.36/chksum b/packages/glibc/2.36/chksum new file mode 100644 index 00000000..6fd112b9 --- /dev/null +++ b/packages/glibc/2.36/chksum @@ -0,0 +1,12 @@ +md5 glibc-2.36.tar.xz 00e9b89e043340f688bc93ec03239b57 +sha1 glibc-2.36.tar.xz 1477f605f419c439c03ef90e7851c0856ea679ea +sha256 glibc-2.36.tar.xz 1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75 +sha512 glibc-2.36.tar.xz 9ea0bbda32f83a85b7da0c34f169607fb8a102f0a11a914e6bf531be47d1bef4f5307128286cffa1e2dc5879f0e6ccaef527dd353486883fa332a0b44bde8b3e +md5 glibc-2.36.tar.bz2 fa3409fd10d880163231d7a5b060255c +sha1 glibc-2.36.tar.bz2 f87cf260ed9340f402245dd68867133c1d4b3bfe +sha256 glibc-2.36.tar.bz2 f78672ec277cc6e5cf2bdd6edec50c5c7b385763a37f03bd7277a907cf7fc862 +sha512 glibc-2.36.tar.bz2 d9a8d8066b7d1593ba9d4c0da17213aac57707d9bd816ba93fdc1cd408efed6d8e18c65f5ba03e82c92f5bd2469164d6c5601847ad979e08a438d55296358848 +md5 glibc-2.36.tar.gz 5467e3d8d526fc02b8e6b5bac2216513 +sha1 glibc-2.36.tar.gz c4ebbcc39d88e0ebfd319710b424eef302b95945 +sha256 glibc-2.36.tar.gz 02efa6ffbbaf3e10e88f16818a862608d04b0ef838c66f6025ae120530792c9c +sha512 glibc-2.36.tar.gz a898d76fb88a68cda122aba26794d91d1088afbc90aaf93505afbf8b607403e8e92f2dd1acface417b9289cb18056579f49176dd88c88e2815b2552bb355f63e diff --git a/packages/glibc/2.36/version.desc b/packages/glibc/2.36/version.desc new file mode 100644 index 00000000..3332e793 --- /dev/null +++ b/packages/glibc/2.36/version.desc @@ -0,0 +1 @@ +# Released 1 Aug 2022 diff --git a/packages/glibc/package.desc b/packages/glibc/package.desc index 56e42a5d..d25f0530 100644 --- a/packages/glibc/package.desc +++ b/packages/glibc/package.desc @@ -3,6 +3,6 @@ repository='git git://sourceware.org/git/glibc.git' mirrors='$(CT_Mirrors GNU glibc)' # Cannot use MAJOR.MINOR as the relevant part because of 2.12: 2.12.2 was the most recent # bugfix release, but it didn't have glibc-ports released alongside it. -milestones='2.14 2.17 2.20 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.34' +milestones='2.14 2.17 2.20 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.34 2.36' archive_formats='.tar.xz .tar.bz2 .tar.gz' signature_format='packed/.sig' diff --git a/packages/gnuprumcu/0.9.0/chksum b/packages/gnuprumcu/0.9.0/chksum new file mode 100644 index 00000000..a88d0511 --- /dev/null +++ b/packages/gnuprumcu/0.9.0/chksum @@ -0,0 +1,4 @@ +md5 gnuprumcu-0.9.0.tar.gz a730da575f541d1de73583a9c742c437 +sha1 gnuprumcu-0.9.0.tar.gz 6b83a5d087483e10298b96a102dc99353e3705c2 +sha256 gnuprumcu-0.9.0.tar.gz a54a0bd7a4741e22ceef4cea80c3fcc37ea06e25a0170e87eb76b71a7e129df6 +sha512 gnuprumcu-0.9.0.tar.gz 0ca693e0bdfe83f4cc72da2c6ff686de90d03159a7eff5cc577615d6b401a7157e53a7e2c0adf677f8a09b85699990acf4f25d9312c643ca9ca3a0a009f5b1f7 diff --git a/packages/linux/5.10.113/version.desc b/packages/gnuprumcu/0.9.0/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/5.10.113/version.desc +++ b/packages/gnuprumcu/0.9.0/version.desc diff --git a/packages/isl/0.11.1/chksum b/packages/isl/0.11.1/chksum new file mode 100644 index 00000000..715d4405 --- /dev/null +++ b/packages/isl/0.11.1/chksum @@ -0,0 +1,8 @@ +md5sum isl-0.11.1.tar.bz2 bce1586384d8635a76d2f017fb067cd2 +sha1sum isl-0.11.1.tar.bz2 d7936929c3937e03f09b64c3c54e49422fa8ddb3 +sha256sum isl-0.11.1.tar.bz2 095f4b54c88ca13a80d2b025d9c551f89ea7ba6f6201d701960bfe5c1466a98d +sha512sum isl-0.11.1.tar.bz2 f021ef6982b30a4834bc459af3520bd74b9c6af3e479b344c2d0e1bb4550b85cd30612e342ac761d85f1d2e2160ab3183e1252696726f438e61fb070a7a7bd22 +md5sum isl-0.11.1.tar.gz d7d27ebedc21a00b292cb7b50f4864f6 +sha1sum isl-0.11.1.tar.gz f44035e0c77c9dbf6a4db7142cae0bb601958b98 +sha256sum isl-0.11.1.tar.gz 55f6c36a119d5fbd90ebc1f7ab07144b41c6f7f038acd18ab58c4c11beefdfc8 +sha512sum isl-0.11.1.tar.gz f7b4a32bd83cf9189c8717ddc2bfe67ed4c93bd437d35e6b7ba97dc3b8a8b85313d79de925f7a87dcadd8e2d248b162ff0d877802d62e68cec9b30aa43c6813f diff --git a/packages/isl/0.11.1/version.desc b/packages/isl/0.11.1/version.desc new file mode 100644 index 00000000..569904cc --- /dev/null +++ b/packages/isl/0.11.1/version.desc @@ -0,0 +1,3 @@ +# This package is a dependency to build a cross toolchain +# for OL7u9, for which EoS date is at Jul 2024. +obsolete='yes' diff --git a/packages/linux/4.14.277/chksum b/packages/linux/4.14.277/chksum deleted file mode 100644 index 95a097f9..00000000 --- a/packages/linux/4.14.277/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.14.277.tar.xz ded4bafebfaa44b93aa06b4a77c474a7 -sha1 linux-4.14.277.tar.xz 3a27f4bce582a821535770ce10d3d7754f6b1612 -sha256 linux-4.14.277.tar.xz e3dcacc2459c91586ae94121f54eb54a7cae9c424766fe20498169f682fd1b15 -sha512 linux-4.14.277.tar.xz ea280902dca24105bd9166aa37f0f955f6a853fcbc638c079a8c6d12e37e10a9b0e3830e4277b0937246f5b4d9b7ff246f2ffbc793054e2b41f8ccbe6106a5a1 -md5 linux-4.14.277.tar.gz 7576036f2f025e609bb49e05b0363c9e -sha1 linux-4.14.277.tar.gz 445f8f652ce7c598dc5a43a3aa8ec568d35d3128 -sha256 linux-4.14.277.tar.gz 06e3f32c2c2badb2924369b99d70d10a395647251a4f02e15608ff15c81ba45d -sha512 linux-4.14.277.tar.gz 5e0a7164add754d4e6805bec20227354e74649ed0ef218efc1a9c29d64280176c85588e7473ea45e4b1acaf4c2c7ae2dae860bbaa977f67151abeb7810c927cf diff --git a/packages/linux/4.14.301/chksum b/packages/linux/4.14.301/chksum new file mode 100644 index 00000000..27679c31 --- /dev/null +++ b/packages/linux/4.14.301/chksum @@ -0,0 +1,8 @@ +md5 linux-4.14.301.tar.xz 2faa259fdd1af8460e2533a156832ecf +sha1 linux-4.14.301.tar.xz 38a4ae8b90cc720c561bcb5406db9ea6c0ab8928 +sha256 linux-4.14.301.tar.xz acd2ee8e03da098fe9f7e52871dd0790850fc32b78657606bdf65bdd94bbf99b +sha512 linux-4.14.301.tar.xz 70b4ecd95e840bda1d1159802da9e9313b501be4d5472bd3865b141c260aa9d192b5732df8e838d213ff2b0f01f58351c82aa88a9d58a1120d22176c03ed7712 +md5 linux-4.14.301.tar.gz da5adab36d5644bea80c6718a033b533 +sha1 linux-4.14.301.tar.gz 66bad05536c00be04795721cb470fe0f0c0a2120 +sha256 linux-4.14.301.tar.gz 310f2caa138714a3bb40068bbed79e0b328f674d562b01289813844c63bb008c +sha512 linux-4.14.301.tar.gz db85885413cba1003a66bed152ab3f63ffb9e1faf49cf418c0c368d80d33cad048505f8997a89601bd789872b1fdc8433e778c0eb3e11bfc70b7842cde32abd3 diff --git a/packages/linux/5.15.37/version.desc b/packages/linux/4.14.301/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/5.15.37/version.desc +++ b/packages/linux/4.14.301/version.desc diff --git a/packages/linux/4.19.241/chksum b/packages/linux/4.19.241/chksum deleted file mode 100644 index 5768e0e0..00000000 --- a/packages/linux/4.19.241/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.19.241.tar.xz 1a256f9d765bc2ec135707340db3375b -sha1 linux-4.19.241.tar.xz 077063e3b430931a3f97986af0ae87b25fdba69f -sha256 linux-4.19.241.tar.xz 4c6269d3c14e593151b035a55227110e632642d848032ef6992135c18488fe13 -sha512 linux-4.19.241.tar.xz 8ddf5791febed8de146367fcf96d84da15e859d8b8b5de01899415f0080c22fbe18e5eef1a1db681260eb80a60b9e33cd551515d9ec4c065977cf5d3da9045c4 -md5 linux-4.19.241.tar.gz 34785bb20615a0d66deed8615c9030fb -sha1 linux-4.19.241.tar.gz d1b9536cea0a9c7f1fec25f29bd52d89cc5b93d3 -sha256 linux-4.19.241.tar.gz cac466d03d16dd810607c32e6ade9cda53764c319a9f6dffae88e40a48aa2ff5 -sha512 linux-4.19.241.tar.gz df51ddf157fedf37c07773bd8e22f510ef24b218bf809bc68571b031fd028ecaa5b7e9cb95f0bbf97edd2682ea67c48fb530d6b1d663af2e2b755fd7d01eecb5 diff --git a/packages/linux/4.19.268/chksum b/packages/linux/4.19.268/chksum new file mode 100644 index 00000000..7a2b074f --- /dev/null +++ b/packages/linux/4.19.268/chksum @@ -0,0 +1,8 @@ +md5 linux-4.19.268.tar.xz 366755a45798defed2e53ad0cbcc4729 +sha1 linux-4.19.268.tar.xz 76e3763f5dd4026e0fc93538a0b1e2faf8caa502 +sha256 linux-4.19.268.tar.xz 219bce1ac3f542d06fc606ae6bcb10f8ab1940a46c7903113be59afc486c204f +sha512 linux-4.19.268.tar.xz ffaea6200b7b9f82742a0473fc17b8bbd12c13384ffb8470d288579480f89e0ab264b333dbbcaf2fe97d6c2b7d1e87692820e5ba554d14e314c9749b544aebd2 +md5 linux-4.19.268.tar.gz 816b76f2f3d7cdd70e2d575529b8097a +sha1 linux-4.19.268.tar.gz 1bc075e4ade7e8893875ed333971e72e6525536e +sha256 linux-4.19.268.tar.gz 2a0d4053a1fa44e959500ac11265935c54690417e9e004ef8212f5dbaaf17787 +sha512 linux-4.19.268.tar.gz ae6e79137b118bf42ebccd169ec7a779ff4f2ee08399d0dedbd6e8e48f35d7c6a9e32512df585764121d148eac80a320a7fd133eb973b97f71ce861b64210db5 diff --git a/packages/linux/5.17.5/version.desc b/packages/linux/4.19.268/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/5.17.5/version.desc +++ b/packages/linux/4.19.268/version.desc diff --git a/packages/linux/4.9.312/chksum b/packages/linux/4.9.312/chksum deleted file mode 100644 index 06ed0faa..00000000 --- a/packages/linux/4.9.312/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.9.312.tar.xz 4a1c57907aab8044aa8dbc367abd5480 -sha1 linux-4.9.312.tar.xz f3e9096651b02f79a83b1ac8dbe7c47f8de4b7bf -sha256 linux-4.9.312.tar.xz fa2fb1fb5ba2e6ed99603063474804bd5fddeb8a5ad769d47786f82109e5c627 -sha512 linux-4.9.312.tar.xz 074cdbe973e5d3aab9cb42ce0fa5f8d08113cfd368e3786466941b004fa06ac97b6430191d278a3ecb822e2b21faef31390c82d74b9d18dffc29ed9b13aebb05 -md5 linux-4.9.312.tar.gz 603566262cf3058ddde9e1eea7fe84f1 -sha1 linux-4.9.312.tar.gz 638b7d2c2ccb7e0f66d2c7f8b2a4dbb86abbb9d0 -sha256 linux-4.9.312.tar.gz 439c9589ec6571a04f2adc226af41654ae4b41c1cd6786b98f7df08f07df9523 -sha512 linux-4.9.312.tar.gz 3fba7e4b4e03984092649072ccf812eda09013f22aaa5c5ccf76975bc3f3d049c6c7102c67333c3f90bb36cf3b7b149505efcce64164867692ebae43eae741a3 diff --git a/packages/linux/4.9.335/chksum b/packages/linux/4.9.335/chksum new file mode 100644 index 00000000..aaf2bef0 --- /dev/null +++ b/packages/linux/4.9.335/chksum @@ -0,0 +1,8 @@ +md5 linux-4.9.335.tar.xz d906ad9d26db2f22d71acdd76b28edf1 +sha1 linux-4.9.335.tar.xz adfef66bfff1a0056424ce64e3886ef88b624ace +sha256 linux-4.9.335.tar.xz ed4fd861fe9f6cd09f409f00dcccfa691e6d1a61c585723e587575dcb60aeb29 +sha512 linux-4.9.335.tar.xz eca7d63b584f67855182805929c031d1e79ff5c7c79103d827a11c410c37e017792ed9a910de688a996af0209f55db37c71bf7ffb3571d9a4d9c68557bc8a184 +md5 linux-4.9.335.tar.gz 54fcbeaa3cd84a4605e17b41ae5d0df8 +sha1 linux-4.9.335.tar.gz 456dadd9bb2e26914efc276b8b6c563be7cac68e +sha256 linux-4.9.335.tar.gz 0847729e7eac61f5a74a6333268e2140b60b6ed0139e340e5ef3b47553644feb +sha512 linux-4.9.335.tar.gz 4744aa286d1ae15dfe17a463bb10d9a747b9db0335fd8e516f11af17795c4fe78bbf55a963e7f1c30db6c7fb6cbf33b7c88d536671151e011fe400505e9514bc diff --git a/packages/linux/5.4.191/version.desc b/packages/linux/4.9.335/version.desc index e69de29b..e69de29b 100644 --- a/packages/linux/5.4.191/version.desc +++ b/packages/linux/4.9.335/version.desc diff --git a/packages/linux/5.10.113/chksum b/packages/linux/5.10.113/chksum deleted file mode 100644 index 01246966..00000000 --- a/packages/linux/5.10.113/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-5.10.113.tar.xz e795db1803356a4db19a58fb6e84e15d -sha1 linux-5.10.113.tar.xz 6c81600197bbf157e9d31067382f86dc340f2880 -sha256 linux-5.10.113.tar.xz 82516a02bb52456f6e8057217dde6e02b78003b1e058117557c2ae9661696dfc -sha512 linux-5.10.113.tar.xz 7099c83243f707d66ac09bf7215aa3fbc63957c2636fa63f287e526de210952c4106de411201e2ac001aa46c73c05cd4892e633911cfa30b96db7613f832b81f -md5 linux-5.10.113.tar.gz b108c94cb93fa27998549b2903da9e72 -sha1 linux-5.10.113.tar.gz a576efc7847f08d700be849cacd1714690a1a4d8 -sha256 linux-5.10.113.tar.gz d7296a1a17d72d8037da9d657b59972426b5700028a6b88800ccb4795aff6e22 -sha512 linux-5.10.113.tar.gz 235074b861f7c18826747547ed4a023c559b8d5a0bf9659b0dec51ecf1e0549589ba11059df2f08d6c4e55d93039805cb7063dee118e6707a30b9fc300aa3412 diff --git a/packages/linux/5.10.158/chksum b/packages/linux/5.10.158/chksum new file mode 100644 index 00000000..79a99214 --- /dev/null +++ b/packages/linux/5.10.158/chksum @@ -0,0 +1,8 @@ +md5 linux-5.10.158.tar.xz fcb4928cafdefca55eb36fc88bf09a30 +sha1 linux-5.10.158.tar.xz 4979966cb568c4c4373de74e6ce957e3545c6041 +sha256 linux-5.10.158.tar.xz 1e0a24bb5510caa18b3601b25e12cc2a1ce123948de551f4f2cdbb40aea707e7 +sha512 linux-5.10.158.tar.xz 45bcb3c145500607d6328662776a5bd4e2fabe882677fefb5fcbf0377504ed1ca4ccddf1aff0a0f6b85ab79f6e9f91fb1377c33a7e14c7f352fa02ec40e67f4e +md5 linux-5.10.158.tar.gz 20356140f96bde79096df62c8518d743 +sha1 linux-5.10.158.tar.gz 4b2a4d31e19cc9bfa4b07df185ad6af2b35265b2 +sha256 linux-5.10.158.tar.gz 71d9dd3a9b0d3ee05bba34881209a7093e64b8793532c352757b63e654feba84 +sha512 linux-5.10.158.tar.gz fcb9e1c1557f3ee6b7e89a4a3a39a4b1f095339ed868df9fc1e74d8b64f36e193c5325d45c5dd019ee2fd928191b950801df98f7f9a794300caa60528ed644d2 diff --git a/packages/picolibc/1.7.6/version.desc b/packages/linux/5.10.158/version.desc index e69de29b..e69de29b 100644 --- a/packages/picolibc/1.7.6/version.desc +++ b/packages/linux/5.10.158/version.desc diff --git a/packages/linux/5.15.37/chksum b/packages/linux/5.15.37/chksum deleted file mode 100644 index f29453ad..00000000 --- a/packages/linux/5.15.37/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-5.15.37.tar.xz 65937c1dd7bfebbe818c41ded47eb9d6 -sha1 linux-5.15.37.tar.xz a8478598547b6456a704088aabd87e0ba8217d17 -sha256 linux-5.15.37.tar.xz 18bf091a2157faa8d92a1aba2ecb66b5124bb0e033fc7797343984e069a2c026 -sha512 linux-5.15.37.tar.xz afc84a10b96e70b859ec328f8d803d7e270264c8649492899292b92650840586c08e1df3196af41c09185e68f2d400cdc302bd0a474cd4ee86c34979098fae48 -md5 linux-5.15.37.tar.gz 57a9a9bf476462a7c3838bce3314c9a3 -sha1 linux-5.15.37.tar.gz 38ddaad12282f4fce8191a45ba3c6263d91032b4 -sha256 linux-5.15.37.tar.gz 8d6e15823d6be11bc688de55bb1bbb413c0c93d4446204b56ad105a6900b606c -sha512 linux-5.15.37.tar.gz 47e2cc3269e657992fa741a108891e8bbdfd5fb14dc6fe3f1610484a07da2b3138d42a8be62ff2148aa04c0eaf5b988c47e321859ec4acfab039bdd26ffdbe99 diff --git a/packages/linux/5.15.82/chksum b/packages/linux/5.15.82/chksum new file mode 100644 index 00000000..056614a0 --- /dev/null +++ b/packages/linux/5.15.82/chksum @@ -0,0 +1,8 @@ +md5 linux-5.15.82.tar.xz 39c6d368d79a321ad6b2db4e0f58e206 +sha1 linux-5.15.82.tar.xz 515f5e16dd6e66bfb54fc7be2bc6ae936da76c53 +sha256 linux-5.15.82.tar.xz fceef6bb79bac494663ccde34453521fc616cd94272fd30564752b3742381b65 +sha512 linux-5.15.82.tar.xz b0deb17077d9254e9a6eef853cdbcb7cbdde74cafef214d25961929d02a42fd61d306e3358b17a145999a0df3565c985de6149bd078330c63508ce8ce6fb4938 +md5 linux-5.15.82.tar.gz 76c2a1becb8b45996211476ef79ef419 +sha1 linux-5.15.82.tar.gz 79241dbc98a8f7f847cc4324e6a5beb2c7a837f7 +sha256 linux-5.15.82.tar.gz 2a138780b0d57648a454e09c0321464bd083f9cccd694bdc4e0c5b0f399b2ff1 +sha512 linux-5.15.82.tar.gz 73a42b3b86784a715188d14e41ef518a3efbb28bbc9a0a85b27bd975c77de7f6ca36430c2496b6f5d1714f122f2c563ba6c52537f2a521e0ba9c3896350e31ef diff --git a/packages/linux/5.15.82/version.desc b/packages/linux/5.15.82/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/5.15.82/version.desc diff --git a/packages/linux/5.17.15/chksum b/packages/linux/5.17.15/chksum new file mode 100644 index 00000000..63ffdb1b --- /dev/null +++ b/packages/linux/5.17.15/chksum @@ -0,0 +1,8 @@ +md5 linux-5.17.15.tar.xz 8a134c7c8920abdd7dc3a5ab563ba070 +sha1 linux-5.17.15.tar.xz d353a5e956c0bb39346150045f406c95de2454f0 +sha256 linux-5.17.15.tar.xz 4a1c922a490eeabf5b44d4fde36de9ba5b71711b7352c6258716da41160db628 +sha512 linux-5.17.15.tar.xz 0239fc941bd3dee4969f87d5a3bd90b6a6b5ebaed950a17a33e64ac6a110d3b9f7e287a134098403718c764b8dc78b72ed7979f820a20eeb3136f22d743c3aa1 +md5 linux-5.17.15.tar.gz 84aaa475944ad64dae801e136ca2cd65 +sha1 linux-5.17.15.tar.gz 663781872dba4c15dae4c04a7ce69b6beff12b3e +sha256 linux-5.17.15.tar.gz 9a46bdf5324f860e4d166e46ced4759905f3579c17ce8399baf52a9820f5f35a +sha512 linux-5.17.15.tar.gz 4d5c0031d492d9882dec9c45641c1df96e4a594eca5733ef2b076059f33a0abe117feed1ab95707caaad14a563c096833c06521e344c823afa1f64da4a27d14e diff --git a/packages/linux/5.17.15/version.desc b/packages/linux/5.17.15/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/5.17.15/version.desc diff --git a/packages/linux/5.17.5/chksum b/packages/linux/5.17.5/chksum deleted file mode 100644 index 96af5923..00000000 --- a/packages/linux/5.17.5/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-5.17.5.tar.xz 2d9d725a716d27c82ea31d2b4e802158 -sha1 linux-5.17.5.tar.xz 6556795e12798a3fb15a46d2f595607ddd35eb8b -sha256 linux-5.17.5.tar.xz 9bbcd185b94436f9c8fe977fa0e862f60d34003562327fcebb27c9fa342fe987 -sha512 linux-5.17.5.tar.xz 9a0b97b0179094fa4c3f91ad1f94ac274b4b7946b3c5112995fd5f60b263389772491f1a756186bb638ee868d42ccd7449cb9aa3227f1637949b6b54418c6bab -md5 linux-5.17.5.tar.gz ab1a19d42870572e410a607930f9dfa4 -sha1 linux-5.17.5.tar.gz 0f6292e6912d0d2149d8c3327583bf66a19db77c -sha256 linux-5.17.5.tar.gz 40c2b07985ecb56366706fe46967f756b0405e7b91e666b6fa897623664fdbea -sha512 linux-5.17.5.tar.gz 759309cb530df2057e708e2371ae2b5bf91d7c1eea74f36ef86739055ad617c8c9ba01457a4ef721217f11ebfdd3cad5998b3d8e6f7daa4bf5132a01e559122f diff --git a/packages/linux/5.18.15/chksum b/packages/linux/5.18.15/chksum new file mode 100644 index 00000000..d0c8646e --- /dev/null +++ b/packages/linux/5.18.15/chksum @@ -0,0 +1,8 @@ +md5 linux-5.18.15.tar.xz 81b9354a182dd58de132047530228dea +sha1 linux-5.18.15.tar.xz 73ea219fc4c9560c199712cba45d6134982bb880 +sha256 linux-5.18.15.tar.xz 69804febdc388a69dfb64493b7b58d402853de3a14144ea8db7fd67c30dcbe3c +sha512 linux-5.18.15.tar.xz 9436831b84727bd751741d1f569dc8bc314c33daf02d2405d4ef612ae6797dc4b3b96e13b46088db65e518052780f1bc30c0d1a4c528373d3509039dc055f835 +md5 linux-5.18.15.tar.gz 174823c2609ec316f3d88de36e3611c8 +sha1 linux-5.18.15.tar.gz 52205e69209a7a528f73a9d216b143431ee6e509 +sha256 linux-5.18.15.tar.gz 6b0549369f0131adec48e61bb450763a0e666493b1e87b4caf6f8b1114db228c +sha512 linux-5.18.15.tar.gz 58f95d1e8b91a6af9938ae5cadaa8fde0c465e70e16927421d1f8bc68b3905181332104af5b72269b1926f2e70c1c3c89befee16c3d73bad9f98e7cbdffd0ad4 diff --git a/packages/linux/5.18.15/version.desc b/packages/linux/5.18.15/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/5.18.15/version.desc diff --git a/packages/linux/5.19.16/chksum b/packages/linux/5.19.16/chksum new file mode 100644 index 00000000..c16d312c --- /dev/null +++ b/packages/linux/5.19.16/chksum @@ -0,0 +1,8 @@ +md5 linux-5.19.16.tar.xz 82402128d59f243efb91a468d8e4513d +sha1 linux-5.19.16.tar.xz 017325ac51ae393eb644ba173f843dfaae5321ef +sha256 linux-5.19.16.tar.xz a1ebaf667e1059ae2d72aa6374a4d6e2febc0b8ccda6a124687acc2ea961e08d +sha512 linux-5.19.16.tar.xz 1ff662424830fbd48ac1d8c1aabd4d11a8eabc284c4fe3fdf803064d4f56d9c1b631a0fb60679bac40a4e05b77d5e6706a8fd52a5e025ef4f1231a6cc84bbbde +md5 linux-5.19.16.tar.gz 15c43c56b85175aacafaaa4ef1983298 +sha1 linux-5.19.16.tar.gz cd7fb09335a4814a88fedf7ed064e6f10fd1c8db +sha256 linux-5.19.16.tar.gz 9b835ea04b0210ad0748829367acd84e09357c3dd6d0f48e31737a7f21e990ff +sha512 linux-5.19.16.tar.gz 9b0330c7257aecba3f6f97566014c03d8012e1b2c5c1ee2c3b5ea1b7a2ca01addf346b5235d772b26e4312b0fc1bb529689390445668606ed96e66174cf93341 diff --git a/packages/linux/5.19.16/version.desc b/packages/linux/5.19.16/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/5.19.16/version.desc diff --git a/packages/linux/5.4.191/chksum b/packages/linux/5.4.191/chksum deleted file mode 100644 index a986c6df..00000000 --- a/packages/linux/5.4.191/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-5.4.191.tar.xz 62ebccb3b7967583c5e582294107f5df -sha1 linux-5.4.191.tar.xz 26407c429db670dd2f889237706850c58eabe5c4 -sha256 linux-5.4.191.tar.xz 288ca85fcdad18e950ccbe3d640594ee36d5aac226321ed935076fadb0cc0a3a -sha512 linux-5.4.191.tar.xz c94b274c3d49cbf3de085fabe99a0e63ff8fd6a6628eb0f2182db06b0480bc0c67991de9c5786c1d252e020b3cda4ccb29ce93ab599065149b3211786842baa0 -md5 linux-5.4.191.tar.gz e29be380cba82542450e6f271a8cbfa9 -sha1 linux-5.4.191.tar.gz a26e2fa3a0af7134ab578fb7a684f7fa098f0048 -sha256 linux-5.4.191.tar.gz 7a65526ede154152bb83a2e7e2b781172a35571b765f686578b945979164f858 -sha512 linux-5.4.191.tar.gz 2e0ef7165e4d52a2e549d3f8cc3e534ba3c89a36434c1e758bd63aa256a1eaaced8beeceb7896af2d5d16dc2afc8d043d35e9256601fe70038faa5298af7fc86 diff --git a/packages/linux/5.4.226/chksum b/packages/linux/5.4.226/chksum new file mode 100644 index 00000000..6f998297 --- /dev/null +++ b/packages/linux/5.4.226/chksum @@ -0,0 +1,8 @@ +md5 linux-5.4.226.tar.xz 63993a9d57008a1b2c7aad261ab2bba9 +sha1 linux-5.4.226.tar.xz 719a7f8bb1a8a541590b14ae6bf4aa9a777a5d63 +sha256 linux-5.4.226.tar.xz 0c1f552a1d2f63b3ecd4d33189f0003bc91fb8ff79967a7e295d015c280c9a44 +sha512 linux-5.4.226.tar.xz 154c11c58465985e5c68821c4483130c7fe4213fb2dfb4874ffe9d179ccdc9673a04f11d9596116f6105b3dcaa56da9f4305454cdd863b3ded5e24ef6948370d +md5 linux-5.4.226.tar.gz 7dfc70ed50e729363f11effb837dadc0 +sha1 linux-5.4.226.tar.gz 50680f732ba868200a781a40f35ee42e40ca3275 +sha256 linux-5.4.226.tar.gz d17b08833b299ff821fd461ebd35c7aff90f4277d77a1a8536c810d56c5ca1c9 +sha512 linux-5.4.226.tar.gz 6f1f020ba36f610c843170e1f775828c50fc866bcad717abc75eae0e238761e9916a53e7539b7e1792da0dccd5be30ba5012d9a4064c2cad49af666bcbef3779 diff --git a/packages/linux/5.4.226/version.desc b/packages/linux/5.4.226/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/5.4.226/version.desc diff --git a/packages/linux/6.0.12/chksum b/packages/linux/6.0.12/chksum new file mode 100644 index 00000000..c33840e5 --- /dev/null +++ b/packages/linux/6.0.12/chksum @@ -0,0 +1,8 @@ +md5 linux-6.0.12.tar.xz 44933812ad926f5000f01ac108d41ee8 +sha1 linux-6.0.12.tar.xz 97f5627bc5d845b09eadf92af513462fd9b3e9c7 +sha256 linux-6.0.12.tar.xz 89b730edf8942b49e02f9894244205886c9a214d629b35b88c4ff06ee9304f01 +sha512 linux-6.0.12.tar.xz 8a3060f85bf21ff6b963d82e1de13a553ab5b44d0602941168b007fc008a4a9fda4048974844c215bfc479359d8eb75bf94f5d21177e28a340b7c0db9e29dcfa +md5 linux-6.0.12.tar.gz c5329153967c45de2f06aea39f0aae2f +sha1 linux-6.0.12.tar.gz 3474a9cbf0b6aff988a150f2541c4e253a968c7c +sha256 linux-6.0.12.tar.gz 1ed4c4f14399ab216253f69de0e18568c8aa4ef9c36c73c9ea2eb936473fd0bf +sha512 linux-6.0.12.tar.gz 8cc2981d2beb77ec2ddb8962a082da2d2b1f07d1cd6242c1ba8e99bd61c97aca579492988776f0a54a5de6884bd75c95751014bb86ffa42d5e928e271edfa5e1 diff --git a/packages/linux/6.0.12/version.desc b/packages/linux/6.0.12/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/6.0.12/version.desc diff --git a/packages/linux/6.1/chksum b/packages/linux/6.1/chksum new file mode 100644 index 00000000..a68f21fb --- /dev/null +++ b/packages/linux/6.1/chksum @@ -0,0 +1,8 @@ +md5 linux-6.1.tar.xz 475320de08f16c9fa486fc4edfe98b30 +sha1 linux-6.1.tar.xz 30996d7c1c59ddbd495bd9eb37c8dfdb1a67c1c3 +sha256 linux-6.1.tar.xz 2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb +sha512 linux-6.1.tar.xz 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68 +md5 linux-6.1.tar.gz 32445cd604f81b6fd0d023bc009a6a1d +sha1 linux-6.1.tar.gz e7fdde90c7b6638226e353cbd17c9eae67a40a09 +sha256 linux-6.1.tar.gz de4ee64f1e86da97c0c2974c02a77c01ea81eed0c04b6319fbc719810104de92 +sha512 linux-6.1.tar.gz 9d8a57d9071ffe6bd7e43a52d565e455ac00e64d40137d964c66fe47838b178dddc5c278b18d3486f80966a57a8eac720c45291ea822d64996202dccbeccd4b7 diff --git a/packages/linux/6.1/version.desc b/packages/linux/6.1/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/linux/6.1/version.desc diff --git a/packages/linux/package.desc b/packages/linux/package.desc index 9a1b98df..3d29b4f7 100644 --- a/packages/linux/package.desc +++ b/packages/linux/package.desc @@ -2,6 +2,6 @@ origin='www.kernel.org' repository='git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' mirrors='$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})' relevantpattern='2.*.*|. *.*|.' -milestones='3.2 3.7 4.8 5.3 5.5 5.12' +milestones='3.2 3.7 4.8 5.3 5.5 5.12 5.19' archive_formats='.tar.xz .tar.gz' signature_format='unpacked/.sign' diff --git a/packages/make/4.2.1/version.desc b/packages/make/4.2.1/version.desc index 30f929c4..f26b5a26 100644 --- a/packages/make/4.2.1/version.desc +++ b/packages/make/4.2.1/version.desc @@ -1,2 +1,2 @@ - +obsolete='yes' archive_formats='.tar.bz2 .tar.gz' diff --git a/packages/make/4.3/version.desc b/packages/make/4.3/version.desc index e69de29b..fcfe3891 100644 --- a/packages/make/4.3/version.desc +++ b/packages/make/4.3/version.desc @@ -0,0 +1 @@ +obsolete='yes' diff --git a/packages/make/4.4/chksum b/packages/make/4.4/chksum new file mode 100644 index 00000000..7254bea0 --- /dev/null +++ b/packages/make/4.4/chksum @@ -0,0 +1,8 @@ +md5 make-4.4.tar.lz 5da8b0fcc500de9c254ca59e58558b27 +sha1 make-4.4.tar.lz bd8e12c82af57e4db7c35b43e09f802f3922696d +sha256 make-4.4.tar.lz 48d0fc0b2a04bb50f2911c16da65723285f7f4804c74fc5a2124a3df6c5f78c4 +sha512 make-4.4.tar.lz 937945e1de5e370e79f379c867ca37bf7b3559a8b002a9e67c4973071e706f7afc5e419ac5d3348e7a677d5673cdcaa2476120297ec3e5f1c8f28f282cff2579 +md5 make-4.4.tar.gz d7575a26a94ee8427130e9db23cdaa78 +sha1 make-4.4.tar.gz 02910501c2065479c6c7a4855b6ecdf3ac4464d8 +sha256 make-4.4.tar.gz 581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18 +sha512 make-4.4.tar.gz 4be73f494295dcfa10034531b0d920cfdb5438bc20625f863f5c878549c140e1e67195162580c53060c3c11c67a2c739c09051f02cdd283e5aa9ebcd68975a1f diff --git a/packages/make/4.4/version.desc b/packages/make/4.4/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/make/4.4/version.desc diff --git a/packages/newlib-nano/package.desc b/packages/newlib-nano/package.desc index ba18016a..8082c940 100644 --- a/packages/newlib-nano/package.desc +++ b/packages/newlib-nano/package.desc @@ -2,7 +2,7 @@ origin='RedHat' repository='git git://sourceware.org/git/newlib-cygwin.git' # Do not use "$(CT_Mirrors sourceware newlib)" here: the mirrors (kernel.org # and gnu.org) only store some older releases of newlib (2.0.0 and before). -mirrors='ftp://sourceware.org/pub/newlib' +mirrors='https://sourceware.org/pub/newlib' relevantpattern='*.*|.*. *.*|.' archive_filename='newlib-@{version}' archive_dirname='newlib-@{version}' diff --git a/packages/newlib/package.desc b/packages/newlib/package.desc index 27a5fa6e..f3801daf 100644 --- a/packages/newlib/package.desc +++ b/packages/newlib/package.desc @@ -2,6 +2,6 @@ origin='RedHat' repository='git git://sourceware.org/git/newlib-cygwin.git' # Do not use "$(CT_Mirrors sourceware newlib)" here: the mirrors (kernel.org # and gnu.org) only store some older releases of newlib (2.0.0 and before). -mirrors='ftp://sourceware.org/pub/newlib' +mirrors='https://sourceware.org/pub/newlib' relevantpattern='*.*|.*. *.*|.' archive_formats='.tar.gz' diff --git a/packages/picolibc/1.7.6/chksum b/packages/picolibc/1.7.6/chksum deleted file mode 100644 index 91af13ce..00000000 --- a/packages/picolibc/1.7.6/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 picolibc-1.7.6.tar.xz 9e7b678ac097d8be75958620cea90063 -sha1 picolibc-1.7.6.tar.xz 12d8b9cbbed41abe03b85840f75f494b470be054 -sha256 picolibc-1.7.6.tar.xz 7f01f74304298125d760038e6ce9d0ba63845f9ae27d7b28f35677db0ccf2981 -sha512 picolibc-1.7.6.tar.xz 67ce99e866e9b917a5d6be90022d73e994071b8134fc0d6414a3ec8eef2d03c1a73b98c0aa556e009424dd37b75116cc885c06d3bcd10790b612cead03db0fd5 diff --git a/packages/picolibc/1.7.9/chksum b/packages/picolibc/1.7.9/chksum new file mode 100644 index 00000000..2b39d8b3 --- /dev/null +++ b/packages/picolibc/1.7.9/chksum @@ -0,0 +1,4 @@ +md5 picolibc-1.7.9.tar.xz 23c37660dda10c32f1fd1f280ed97913 +sha1 picolibc-1.7.9.tar.xz b082feda14c8fb95b2b1e4beff714eb99bdd9c52 +sha256 picolibc-1.7.9.tar.xz 4b0042344fe7be61adf44ae098f94e21a90ac5179152b3a5ea779451c8e914ab +sha512 picolibc-1.7.9.tar.xz 71f15f274ff406042ac9f8c074bc4cc003d4d47fca1bef12abe7409e5c439a73d9a34a711d5ca22a40a98a828c9db2553baf5e071176db3c835daf727a18ea78 diff --git a/packages/picolibc/1.7.9/version.desc b/packages/picolibc/1.7.9/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/picolibc/1.7.9/version.desc diff --git a/packages/picolibc/1.8/chksum b/packages/picolibc/1.8/chksum new file mode 100644 index 00000000..ea275789 --- /dev/null +++ b/packages/picolibc/1.8/chksum @@ -0,0 +1,4 @@ +md5 picolibc-1.8.tar.xz 855bebc94a5b91fa037a64b4c55a7b01 +sha1 picolibc-1.8.tar.xz b999596ecb48f058a9a34fdd6d087b32bbd1c907 +sha256 picolibc-1.8.tar.xz cad52d2b690a22d00aa8486234a1df24136828b469e6b5328c171ebcf610f382 +sha512 picolibc-1.8.tar.xz e468a4c6e18ab2289a78ab496a3b1699db4b39d69c3a3bc8577a0fff42e07afce0cf5fe58cd789c04ea93ed66418cd3a8d59c635d64195116bdf327d5671e56a diff --git a/packages/picolibc/1.8/version.desc b/packages/picolibc/1.8/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/picolibc/1.8/version.desc diff --git a/packages/picolibc/package.desc b/packages/picolibc/package.desc index 15206e66..cdaf198c 100644 --- a/packages/picolibc/package.desc +++ b/packages/picolibc/package.desc @@ -1,6 +1,6 @@ origin='keithp.com' repository='git https://github.com/picolibc/picolibc.git' -milestones='1.4 1.5 1.6 1.7' +milestones='1.4 1.5 1.6 1.7 1.8' relevantpattern='*.*|.*. *.*|.' archive_formats='.tar.xz' mirrors='https://github.com/picolibc/picolibc/releases/download/${CT_PICOLIBC_VERSION}' diff --git a/packages/strace/5.16/version.desc b/packages/strace/5.16/version.desc index e69de29b..fcfe3891 100644 --- a/packages/strace/5.16/version.desc +++ b/packages/strace/5.16/version.desc @@ -0,0 +1 @@ +obsolete='yes' diff --git a/packages/strace/6.1/chksum b/packages/strace/6.1/chksum new file mode 100644 index 00000000..e6b94916 --- /dev/null +++ b/packages/strace/6.1/chksum @@ -0,0 +1,4 @@ +md5 strace-6.1.tar.xz cbd758b0545b678cd7ac09c683ade002 +sha1 strace-6.1.tar.xz b451b02579bc473e5f0e559ce40be634026e3f2b +sha256 strace-6.1.tar.xz 2579e9cec37dbb786f6ea0bebd15f40dd561ef2bde2a2a2ecdce5963b01859fd +sha512 strace-6.1.tar.xz 3f0678d74c5c3e6b30c4dc4ed7ee4cb0829d3b7142dc014fcd887db3a68133bf7fedc623bae381dfe4305bd6cd15d4ca6776c6491009c2a053bb8c6ca1ae8e12 diff --git a/packages/strace/6.1/version.desc b/packages/strace/6.1/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/strace/6.1/version.desc diff --git a/packages/zlib/1.2.12/version.desc b/packages/zlib/1.2.12/version.desc index e69de29b..fcfe3891 100644 --- a/packages/zlib/1.2.12/version.desc +++ b/packages/zlib/1.2.12/version.desc @@ -0,0 +1 @@ +obsolete='yes' diff --git a/packages/zlib/1.2.13/0000-mingw-static-only.patch b/packages/zlib/1.2.13/0000-mingw-static-only.patch new file mode 100644 index 00000000..cab2389c --- /dev/null +++ b/packages/zlib/1.2.13/0000-mingw-static-only.patch @@ -0,0 +1,28 @@ +--- + win32/Makefile.gcc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/win32/Makefile.gcc ++++ b/win32/Makefile.gcc +@@ -66,7 +66,11 @@ + gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o + OBJA = + +-all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) example.exe minigzip.exe example_d.exe minigzip_d.exe ++all: $(STATICLIB) example.exe minigzip.exe ++ ++ifeq ($(SHARED_MODE),1) ++all: $(SHAREDLIB) $(IMPLIB) example_d.exe minigzip_d.exe ++endif + + test: example.exe minigzip.exe + ./example +@@ -120,7 +124,7 @@ + .PHONY: install uninstall clean + + install: zlib.h zconf.h $(STATICLIB) $(IMPLIB) +- @if test -z "$(DESTDIR)$(INCLUDE_PATH)" -o -z "$(DESTDIR)$(LIBRARY_PATH)" -o -z "$(DESTDIR)$(BINARY_PATH)"; then \ ++ @if test -z "$(INCLUDE_PATH)" -o -z "$(LIBRARY_PATH)" -o -z "$(BINARY_PATH)"; then \ + echo INCLUDE_PATH, LIBRARY_PATH, and BINARY_PATH must be specified; \ + exit 1; \ + fi diff --git a/packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch b/packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch new file mode 100644 index 00000000..daa62448 --- /dev/null +++ b/packages/zlib/1.2.13/0001-crossbuild-macos-libtool.patch @@ -0,0 +1,34 @@ +From: Heiko Lewin <heiko.lewin@worldiety.de> +Date: Fri, 22 May 2020 03:32:33 +0200 +Subject: configure: use LIBTOOL variable for Darwin builds + +--- + configure | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/configure ++++ b/configure +@@ -69,6 +69,12 @@ + else + NM=${NM-"nm"} + fi ++if "${CROSS_PREFIX}libtool" --version >/dev/null 2>/dev/null || test $? -lt 126; then ++ LIBTOOL=${LIBTOOL-"${CROSS_PREFIX}libtool"} ++ test -n "${CROSS_PREFIX}" && echo Using ${LIBTOOL} | tee -a configure.log ++else ++ LIBTOOL=${LIBTOOL-"libtool"} ++fi + + # set defaults before processing command line options + LDCONFIG=${LDCONFIG-"ldconfig"} +@@ -260,8 +266,8 @@ + SHAREDLIBV=libz.$VER$shared_ext + SHAREDLIBM=libz.$VER1$shared_ext + LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"} +- if libtool -V 2>&1 | grep Apple > /dev/null; then +- AR="libtool" ++ if ${LIBTOOL} -V 2>&1 | grep Apple > /dev/null; then ++ AR="${LIBTOOL}" + else + AR="/usr/bin/libtool" + fi diff --git a/packages/zlib/1.2.13/chksum b/packages/zlib/1.2.13/chksum new file mode 100644 index 00000000..214209bd --- /dev/null +++ b/packages/zlib/1.2.13/chksum @@ -0,0 +1,8 @@ +md5 zlib-1.2.13.tar.xz 7d9fc1d78ae2fa3e84fe98b77d006c63 +sha1 zlib-1.2.13.tar.xz b459b42aa533968ae403c0002a255d62d3136954 +sha256 zlib-1.2.13.tar.xz d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98 +sha512 zlib-1.2.13.tar.xz 9e7ac71a1824855ae526506883e439456b74ac0b811d54e94f6908249ba8719bec4c8d7672903c5280658b26cb6b5e93ecaaafe5cdc2980c760fa196773f0725 +md5 zlib-1.2.13.tar.gz 9b8aa094c4e5765dabf4da391f00d15c +sha1 zlib-1.2.13.tar.gz 55eaa84906f31ac20d725aa26cd20839196b6ba6 +sha256 zlib-1.2.13.tar.gz b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30 +sha512 zlib-1.2.13.tar.gz 99f0e843f52290e6950cc328820c0f322a4d934a504f66c7caa76bd0cc17ece4bf0546424fc95135de85a2656fed5115abb835fd8d8a390d60ffaf946c8887ad diff --git a/packages/zlib/1.2.13/version.desc b/packages/zlib/1.2.13/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/zlib/1.2.13/version.desc diff --git a/packages/zlib/package.desc b/packages/zlib/package.desc index d85e5656..2a3984f3 100644 --- a/packages/zlib/package.desc +++ b/packages/zlib/package.desc @@ -1,4 +1,4 @@ repository='git https://github.com/madler/zlib.git' -mirrors='http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/' +mirrors='https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/' archive_formats='.tar.xz .tar.gz' signature_format='packed/.asc' diff --git a/samples/aarch64-ol7u9-linux-gnu/crosstool.config b/samples/aarch64-ol7u9-linux-gnu/crosstool.config index d6b538ee..55ec67cc 100644 --- a/samples/aarch64-ol7u9-linux-gnu/crosstool.config +++ b/samples/aarch64-ol7u9-linux-gnu/crosstool.config @@ -6,6 +6,8 @@ CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_27=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol7-u9-aarch64" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,5 +15,13 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_GCC_V_4_9=y +CT_GLIBC_ORACLE_V_2_17=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol7-u9-aarch64" +CT_CLOOG_V_0_18_0=y +CT_CLOOG_VERSION="0.18.0" +CT_ISL_V_0_11=y +CT_ISL_VERSION="0.11.1" +CT_GCC_USE_ORACLE=y +CT_GCC_ORACLE_V_4_8=y +CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" CT_CC_LANG_CXX=y diff --git a/samples/aarch64-ol8u6-linux-gnu/crosstool.config b/samples/aarch64-ol8u6-linux-gnu/crosstool.config index 17b0219a..20715537 100644 --- a/samples/aarch64-ol8u6-linux-gnu/crosstool.config +++ b/samples/aarch64-ol8u6-linux-gnu/crosstool.config @@ -5,7 +5,8 @@ CT_TARGET_VENDOR="ol8u6" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_30_113=y +CT_BINUTILS_ORACLE_V_2_30=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol8-u6" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,7 +14,9 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n CT_CC_LANG_CXX=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol8-u6" CT_GCC_USE_ORACLE=y CT_ISL_V_0_16=y CT_GCC_ORACLE_V_8=y diff --git a/samples/aarch64-ol8u7-linux-gnu/crosstool.config b/samples/aarch64-ol8u7-linux-gnu/crosstool.config new file mode 100644 index 00000000..122e982e --- /dev/null +++ b/samples/aarch64-ol8u7-linux-gnu/crosstool.config @@ -0,0 +1,24 @@ +CT_CONFIG_VERSION="4" +CT_ARCH_ARM=y +CT_ARCH_64=y +CT_TARGET_VENDOR="ol8u7" +CT_KERNEL_LINUX=y +CT_LINUX_USE_ORACLE=y +CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_30=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol8-u7" +CT_BINUTILS_LINKER_LD_GOLD=y +CT_BINUTILS_GOLD_THREADS=y +CT_BINUTILS_LD_WRAPPER=y +CT_BINUTILS_PLUGINS=y +CT_GLIBC_USE_ORACLE=y +CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" +CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n +CT_CC_LANG_CXX=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol8-u7" +CT_GCC_USE_ORACLE=y +CT_ISL_V_0_16=y +CT_GCC_ORACLE_V_8=y +CT_GCC_ORACLE_VERSION="8.7.0" +CT_GCC_ORACLE_DEVEL_BRANCH="oracle/gcc/ol8-u7-aarch64" diff --git a/samples/aarch64-ol8u7-linux-gnu/reported.by b/samples/aarch64-ol8u7-linux-gnu/reported.by new file mode 100644 index 00000000..cdb5e85c --- /dev/null +++ b/samples/aarch64-ol8u7-linux-gnu/reported.by @@ -0,0 +1,3 @@ +reporter_name="Cupertino Miranda" +reporter_url="" +reporter_comment="OL 8.7 toolchain configured for aarch64" diff --git a/samples/arm-none-eabi/crosstool.config b/samples/arm-none-eabi/crosstool.config index c4411b04..c8c7c822 100644 --- a/samples/arm-none-eabi/crosstool.config +++ b/samples/arm-none-eabi/crosstool.config @@ -12,3 +12,4 @@ CT_COMP_LIBS_PICOLIBC=y CT_MULTILIB=y CT_CC_GCC_MULTILIB_LIST="rmprofile aprofile" CT_TARGET_VENDOR="none" +CT_BINUTILS_EXTRA_CONFIG_ARRAY="--disable-warn-rwx-segments" diff --git a/samples/arm-ol7u9-linux-gnueabi/crosstool.config b/samples/arm-ol7u9-linux-gnueabi/crosstool.config index bb12842a..5303939d 100644 --- a/samples/arm-ol7u9-linux-gnueabi/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabi/crosstool.config @@ -6,6 +6,8 @@ CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_27=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol7-u9-arm" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,5 +15,13 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_GCC_V_4_9=y +CT_GLIBC_ORACLE_V_2_17=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol7-u9" +CT_CLOOG_V_0_18_0=y +CT_CLOOG_VERSION="0.18.0" +CT_ISL_V_0_11=y +CT_ISL_VERSION="0.11.1" +CT_GCC_USE_ORACLE=y +CT_GCC_ORACLE_V_4_8=y +CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" CT_CC_LANG_CXX=y diff --git a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config index 1f0c9aba..157dae67 100644 --- a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config @@ -6,6 +6,8 @@ CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_27=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol7-u9-arm" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,5 +15,13 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y -CT_GCC_V_4_9=y +CT_GLIBC_ORACLE_V_2_17=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol7-u9" +CT_CLOOG_V_0_18_0=y +CT_CLOOG_VERSION="0.18.0" +CT_ISL_V_0_11=y +CT_ISL_VERSION="0.11.1" +CT_GCC_USE_ORACLE=y +CT_GCC_ORACLE_V_4_8=y +CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" CT_CC_LANG_CXX=y diff --git a/samples/bpf-unknown-none/crosstool.config b/samples/bpf-unknown-none/crosstool.config new file mode 100644 index 00000000..383f75d6 --- /dev/null +++ b/samples/bpf-unknown-none/crosstool.config @@ -0,0 +1,11 @@ +CT_CONFIG_VERSION="4" +CT_ARCH_BPF=y +CT_MULTILIB=n +CT_TARGET_VENDOR="unknown" +CT_TARGET_SYS=none +CT_TARGET_ALIAS="bpf-unknown" +CT_GCC_SRC_DEVEL=y +CT_GCC_DEVEL_BRANCH="master" +CT_BINUTILS_SRC_DEVEL=y +CT_BINUTILS_DEVEL_BRANCH="master" +CT_LIBC_NONE=y diff --git a/samples/bpf-unknown-none/reported.by b/samples/bpf-unknown-none/reported.by new file mode 100644 index 00000000..1b18dcb4 --- /dev/null +++ b/samples/bpf-unknown-none/reported.by @@ -0,0 +1,3 @@ +reporter_name="Cupertino Miranda" +reporter_url="" +reporter_comment="BPF toolchain" diff --git a/samples/i686-ol8u6-linux-gnu/crosstool.config b/samples/i686-ol8u6-linux-gnu/crosstool.config index 3a0eb7fb..42339af2 100644 --- a/samples/i686-ol8u6-linux-gnu/crosstool.config +++ b/samples/i686-ol8u6-linux-gnu/crosstool.config @@ -5,7 +5,8 @@ CT_TARGET_VENDOR="ol8u6" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_30_113=y +CT_BINUTILS_ORACLE_V_2_30=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol8-u6" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,7 +14,9 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n CT_CC_LANG_CXX=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol8-u6" CT_GCC_USE_ORACLE=y CT_ISL_V_0_16=y CT_GCC_ORACLE_V_8=y diff --git a/samples/i686-ol8u7-linux-gnu/crosstool.config b/samples/i686-ol8u7-linux-gnu/crosstool.config new file mode 100644 index 00000000..ff453dd7 --- /dev/null +++ b/samples/i686-ol8u7-linux-gnu/crosstool.config @@ -0,0 +1,24 @@ +CT_CONFIG_VERSION="4" +CT_ARCH_X86=y +CT_ARCH_ARCH="i686" +CT_TARGET_VENDOR="ol8u7" +CT_KERNEL_LINUX=y +CT_LINUX_USE_ORACLE=y +CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_30=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol8-u7" +CT_BINUTILS_LINKER_LD_GOLD=y +CT_BINUTILS_GOLD_THREADS=y +CT_BINUTILS_LD_WRAPPER=y +CT_BINUTILS_PLUGINS=y +CT_GLIBC_USE_ORACLE=y +CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" +CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n +CT_CC_LANG_CXX=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol8-u7" +CT_GCC_USE_ORACLE=y +CT_ISL_V_0_16=y +CT_GCC_ORACLE_V_8=y +CT_GCC_ORACLE_VERSION="8.5.0" +CT_GCC_ORACLE_DEVEL_BRANCH="oracle/gcc/ol8-u7-x86" diff --git a/samples/i686-ol8u7-linux-gnu/reported.by b/samples/i686-ol8u7-linux-gnu/reported.by new file mode 100644 index 00000000..4e341b6d --- /dev/null +++ b/samples/i686-ol8u7-linux-gnu/reported.by @@ -0,0 +1,3 @@ +reporter_name="Cupertino Miranda" +reporter_url="" +reporter_comment="OL 8.7 toolchain configured for i686" diff --git a/samples/i686-ubuntu14.04-linux-gnu/crosstool.config b/samples/i686-ubuntu14.04-linux-gnu/crosstool.config index 4a5bb925..cfe9c65d 100644 --- a/samples/i686-ubuntu14.04-linux-gnu/crosstool.config +++ b/samples/i686-ubuntu14.04-linux-gnu/crosstool.config @@ -7,4 +7,5 @@ CT_KERNEL_LINUX=y CT_LINUX_V_3_13=y # CT_KERNEL_LINUX_INSTALL_CHECK is not set CT_GLIBC_V_2_19=y +# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set CT_CC_LANG_CXX=y diff --git a/samples/loongarch64-unknown-linux-gnu/crosstool.config b/samples/loongarch64-unknown-linux-gnu/crosstool.config new file mode 100644 index 00000000..09697d2a --- /dev/null +++ b/samples/loongarch64-unknown-linux-gnu/crosstool.config @@ -0,0 +1,12 @@ +CT_CONFIG_VERSION="4" +CT_EXPERIMENTAL=y +CT_ARCH_LOONGARCH=y +# CT_DEMULTILIB is not set +CT_ARCH_USE_MMU=y +CT_ARCH_64=y +CT_ARCH_ARCH="loongarch64" +CT_KERNEL_LINUX=y +CT_CC_LANG_CXX=y +CT_DEBUG_GDB=y +# CT_GDB_CROSS_PYTHON is not set +# CT_GDB_GDBSERVER is not set diff --git a/samples/loongarch64-unknown-linux-gnu/reported.by b/samples/loongarch64-unknown-linux-gnu/reported.by new file mode 100644 index 00000000..c40b616c --- /dev/null +++ b/samples/loongarch64-unknown-linux-gnu/reported.by @@ -0,0 +1,3 @@ +reporter_name="Jiajie Chen <c@jia.je>" +reporter_url="https://jia.je/" +reporter_comment="" diff --git a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config index ef76f7dd..4a7a7a2b 100644 --- a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config +++ b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config @@ -3,12 +3,12 @@ CT_ARCH_POWERPC=y CT_ARCH_CPU="8548" CT_ARCH_powerpc_ABI_SPE=y CT_ARCH_FLOAT_SW=y -CT_TARGET_CFLAGS="-mfloat-gprs=double -Wa,-me500x2" +CT_TARGET_CFLAGS="-Wa,-me500" CT_TARGET_VENDOR="e500v2" CT_KERNEL_LINUX=y -CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-spe=yes --enable-e500x2 --with-e500x2" -CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-e500_double" -CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-e500_double" +CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-spe=yes" +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-e500-double" +CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-e500-double" # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set CT_CC_GCC_LDBL_128=y CT_CC_LANG_CXX=y diff --git a/samples/x86_64-centos6-linux-gnu/crosstool.config b/samples/x86_64-centos6-linux-gnu/crosstool.config deleted file mode 100644 index e9747cdc..00000000 --- a/samples/x86_64-centos6-linux-gnu/crosstool.config +++ /dev/null @@ -1,12 +0,0 @@ -CT_CONFIG_VERSION="4" -CT_OBSOLETE=y -CT_ARCH_X86=y -CT_ARCH_64=y -CT_TARGET_VENDOR="centos6" -CT_KERNEL_LINUX=y -CT_LINUX_V_2_6_32=y -# CT_KERNEL_LINUX_INSTALL_CHECK is not set -CT_GLIBC_V_2_12_1=y -CT_GLIBC_EXTRA_CFLAGS="" -# CT_GLIBC_ENABLE_COMMON_FLAG is not set -CT_CC_LANG_CXX=y diff --git a/samples/x86_64-centos6-linux-gnu/reported.by b/samples/x86_64-centos6-linux-gnu/reported.by deleted file mode 100644 index d4c3d105..00000000 --- a/samples/x86_64-centos6-linux-gnu/reported.by +++ /dev/null @@ -1,3 +0,0 @@ -reporter_name="Alexey Neyman" -reporter_url="" -reporter_comment="x86_64 config with kernel/libc versions matching CentOS 6.x." diff --git a/samples/x86_64-centos7-linux-gnu/crosstool.config b/samples/x86_64-centos7-linux-gnu/crosstool.config index cfe8fa42..d018119a 100644 --- a/samples/x86_64-centos7-linux-gnu/crosstool.config +++ b/samples/x86_64-centos7-linux-gnu/crosstool.config @@ -7,4 +7,5 @@ CT_KERNEL_LINUX=y CT_LINUX_V_3_10=y # CT_KERNEL_LINUX_INSTALL_CHECK is not set CT_GLIBC_V_2_17=y +# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set CT_CC_LANG_CXX=y diff --git a/samples/x86_64-ol8u6-linux-gnu/crosstool.config b/samples/x86_64-ol8u6-linux-gnu/crosstool.config index e8828adc..a314d189 100644 --- a/samples/x86_64-ol8u6-linux-gnu/crosstool.config +++ b/samples/x86_64-ol8u6-linux-gnu/crosstool.config @@ -5,7 +5,8 @@ CT_TARGET_VENDOR="ol8u6" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_30_113=y +CT_BINUTILS_ORACLE_V_2_30=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol8-u6" CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y @@ -13,7 +14,9 @@ CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n CT_CC_LANG_CXX=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol8-u6" CT_GCC_USE_ORACLE=y CT_ISL_V_0_16=y CT_GCC_ORACLE_V_8=y diff --git a/samples/x86_64-ol8u7-linux-gnu/crosstool.config b/samples/x86_64-ol8u7-linux-gnu/crosstool.config new file mode 100644 index 00000000..b01c7088 --- /dev/null +++ b/samples/x86_64-ol8u7-linux-gnu/crosstool.config @@ -0,0 +1,24 @@ +CT_CONFIG_VERSION="4" +CT_ARCH_X86=y +CT_ARCH_64=y +CT_TARGET_VENDOR="ol8u7" +CT_KERNEL_LINUX=y +CT_LINUX_USE_ORACLE=y +CT_BINUTILS_USE_ORACLE=y +CT_BINUTILS_ORACLE_V_2_30=y +CT_BINUTILS_ORACLE_DEVEL_BRANCH="oracle/binutils/ol8-u7" +CT_BINUTILS_LINKER_LD_GOLD=y +CT_BINUTILS_GOLD_THREADS=y +CT_BINUTILS_LD_WRAPPER=y +CT_BINUTILS_PLUGINS=y +CT_GLIBC_USE_ORACLE=y +CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" +CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GLIBC_ENABLE_DEBUG=n +CT_CC_LANG_CXX=y +CT_GLIBC_ORACLE_DEVEL_BRANCH="oracle/glibc/ol8-u7" +CT_GCC_USE_ORACLE=y +CT_ISL_V_0_16=y +CT_GCC_ORACLE_V_8=y +CT_GCC_ORACLE_VERSION="8.7.0" +CT_GCC_ORACLE_DEVEL_BRANCH="oracle/gcc/ol8-u7-x86" diff --git a/samples/x86_64-ol8u7-linux-gnu/reported.by b/samples/x86_64-ol8u7-linux-gnu/reported.by new file mode 100644 index 00000000..35d826be --- /dev/null +++ b/samples/x86_64-ol8u7-linux-gnu/reported.by @@ -0,0 +1,3 @@ +reporter_name="Cupertino Miranda" +reporter_url="" +reporter_comment="OL 8.7 toolchain configured for x86_64" diff --git a/samples/x86_64-pc-linux-gnu,arm-picolibc-eabi/crosstool.config b/samples/x86_64-pc-linux-gnu,arm-picolibc-eabi/crosstool.config new file mode 100644 index 00000000..18d6aadf --- /dev/null +++ b/samples/x86_64-pc-linux-gnu,arm-picolibc-eabi/crosstool.config @@ -0,0 +1,12 @@ +CT_CONFIG_VERSION="4" +CT_ARCH_ARM=y +CT_MULTILIB=y +CT_TARGET_CFLAGS="-ftls-model=local-exec" +CT_TARGET_VENDOR="picolibc" +CT_CANADIAN=y +CT_HOST="x86_64-pc-linux-gnu" +CT_LIBC_NONE=y +CT_CC_GCC_MULTILIB_LIST="rmprofile" +CT_CC_GCC_CONFIG_TLS=y +CT_CC_LANG_CXX=y +CT_COMP_LIBS_PICOLIBC=y diff --git a/samples/x86_64-pc-linux-gnu,arm-picolibc-eabi/reported.by b/samples/x86_64-pc-linux-gnu,arm-picolibc-eabi/reported.by new file mode 100644 index 00000000..027c1480 --- /dev/null +++ b/samples/x86_64-pc-linux-gnu,arm-picolibc-eabi/reported.by @@ -0,0 +1,3 @@ +reporter_name="Joakim Nohlgård" +reporter_url="https://github.com/jnohlgard/crosstool-ng" +reporter_comment="Based on arm-picolibc-eabi" diff --git a/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config index 15380f0d..ece4ef6f 100644 --- a/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config +++ b/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config @@ -7,4 +7,5 @@ CT_KERNEL_LINUX=y CT_LINUX_V_3_13=y # CT_KERNEL_LINUX_INSTALL_CHECK is not set CT_GLIBC_V_2_19=y +# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set CT_CC_LANG_CXX=y diff --git a/scripts/build/arch/bpf.sh b/scripts/build/arch/bpf.sh new file mode 100644 index 00000000..de427283 --- /dev/null +++ b/scripts/build/arch/bpf.sh @@ -0,0 +1,7 @@ +# Compute BPF-specific values + +CT_DoArchTupleValues() { + CT_TARGET_ARCH=bpf + CT_TARGET_VENDOR=unknown + CT_TARGET_SYS=none +} diff --git a/scripts/build/arch/loongarch.sh b/scripts/build/arch/loongarch.sh new file mode 100644 index 00000000..2e981888 --- /dev/null +++ b/scripts/build/arch/loongarch.sh @@ -0,0 +1,5 @@ +# Compute LoongArch-specific values + +CT_DoArchTupleValues() { + CT_TARGET_ARCH="loongarch${CT_ARCH_BITNESS}" +} diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh index b16be904..fdec508f 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -310,8 +310,9 @@ do_binutils_for_target() { local -a install_targets local t - [ "${CT_BINUTILS_FOR_TARGET_IBERTY}" = "y" ] && targets+=("libiberty") - [ "${CT_BINUTILS_FOR_TARGET_BFD}" = "y" ] && targets+=("bfd") + [ "${CT_BINUTILS_FOR_TARGET_IBERTY}" = "y" ] && targets+=("libiberty") + [ "${CT_BINUTILS_FOR_TARGET_BFD}" = "y" ] && targets+=("bfd") + [ "${CT_BINUTILS_FOR_TARGET_OPCODES}" = "y" ] && targets+=("opcodes") for t in "${targets[@]}"; do build_targets+=("all-${t}") install_targets+=("install-${t}") diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index eb7efd25..18558533 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -45,6 +45,7 @@ cc_gcc_lang_list() { [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada" [ "${CT_CC_LANG_D}" = "y" ] && lang_list+=",d" [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java" + [ "${CT_CC_LANG_JIT}" = "y" ] && lang_list+=",jit" [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc" [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++" [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go" @@ -288,14 +289,13 @@ do_gcc_core_backend() { ;; libstdcxx) CT_DoLog EXTRA "Configuring libstdc++ for ${libstdcxx_name}" - if [ "${header_dir}" = "" ]; then + if [ -z "${header_dir}" ]; then header_dir="${CT_PREFIX_DIR}/${libstdcxx_name}/include" fi - if [ "${exec_prefix}" = "" ]; then + if [ -z "${exec_prefix}" ]; then exec_prefix="${CT_PREFIX_DIR}/${libstdcxx_name}" fi extra_config+=( "${CT_CC_SYSROOT_ARG[@]}" ) - extra_config+=( "--with-headers=${header_dir}" ) extra_user_config=( "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" ) log_txt="libstdc++ ${libstdcxx_name} library" # to inhibit the libiberty and libgcc tricks later on @@ -306,7 +306,7 @@ do_gcc_core_backend() { ;; esac - if [ "${exec_prefix}" = "" ]; then + if [ -z "${exec_prefix}" ]; then exec_prefix="${prefix}" fi @@ -344,6 +344,10 @@ do_gcc_core_backend() { extra_config+=("--enable-newlib-nano-formatted-io") fi + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + extra_config+=("--enable-host-shared") + fi + if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then extra_config+=("--enable-__cxa_atexit") else @@ -380,6 +384,7 @@ do_gcc_core_backend() { case "${CT_CC_GCC_LIBSTDCXX_VERBOSE}" in y) extra_config+=("--enable-libstdcxx-verbose");; + m) ;; "") extra_config+=("--disable-libstdcxx-verbose");; esac @@ -435,6 +440,10 @@ do_gcc_core_backend() { extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}") fi + if [ "${CT_CC_GCC_ENABLE_DEFAULT_PIE}" = "y" ]; then + extra_config+=("--enable-default-pie") + fi + if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ] || \ [ "${enable_optspace}" = "yes" ]; then extra_config+=("--enable-target-optspace") @@ -549,6 +558,13 @@ do_gcc_core_backend() { fi fi + # Add an extra system include dir if we have one. This is especially useful + # when building libstdc++ with a libc other than the system libc (e.g. + # picolibc) + if [ -n "${header_dir}" ]; then + cflags_for_target="${cflags_for_target} -idirafter ${header_dir}" + fi + # For non-sysrooted toolchain, GCC doesn't search except at the installation # prefix; in core stage we use a temporary installation prefix - but # we may have installed something into the final prefix. This is less than ideal: @@ -799,7 +815,7 @@ gcc_movelibs() # Move only files, directories are for other multilibs. We're looking inside # GCC's directory structure, thus use unmangled multi_os_dir that GCC reports. - gcc_dir="${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_os_dir_gcc}" + gcc_dir="${canon_prefix}/${CT_TARGET}/lib/${multi_os_dir_gcc}" if [ ! -d "${gcc_dir}" ]; then # GCC didn't install anything outside of sysroot return @@ -812,7 +828,7 @@ gcc_movelibs() dst_dir="${canon_root}/lib/${multi_os_dir}" fi CT_SanitizeVarDir dst_dir gcc_dir - rel=$( echo "${gcc_dir#${CT_PREFIX_DIR}/}" | sed 's#[^/]\{1,\}#..#g' ) + rel=$( echo "${gcc_dir#${canon_prefix}/}" | sed 's#[^/]\{1,\}#..#g' ) ls "${gcc_dir}" | while read f; do case "${f}" in @@ -906,7 +922,6 @@ do_gcc_backend() { local extra_cxxflags_for_target local ldflags local build_manuals - local exec_prefix local header_dir local libstdcxx_name local -a host_libstdcxx_flags @@ -921,7 +936,7 @@ do_gcc_backend() { eval "${arg// /\\ }" done - if [ "${exec_prefix}" = "" ]; then + if [ -z "${exec_prefix}" ]; then exec_prefix="${prefix}" fi @@ -1004,11 +1019,11 @@ do_gcc_backend() { extra_config+=(--disable-libquadmath-support) fi - if [ "${CT_CC_GCC_LIBSANITIZER}" = "y" ]; then - extra_config+=(--enable-libsanitizer) - else - extra_config+=(--disable-libsanitizer) - fi + case "${CT_CC_GCC_LIBSANITIZER}" in + y) extra_config+=(--enable-libsanitizer);; + m) ;; + "") extra_config+=(--disable-libsanitizer);; + esac if [ "${CT_CC_GCC_HAS_LIBMPX}" = "y" ]; then if [ "${CT_CC_GCC_LIBMPX}" = "y" ]; then @@ -1020,6 +1035,7 @@ do_gcc_backend() { case "${CT_CC_GCC_LIBSTDCXX_VERBOSE}" in y) extra_config+=("--enable-libstdcxx-verbose");; + m) ;; "") extra_config+=("--disable-libstdcxx-verbose");; esac @@ -1195,6 +1211,13 @@ do_gcc_backend() { fi fi + # Add an extra system include dir if we have one. This is especially useful + # when building libstdc++ with a libc other than the system libc (e.g. + # picolibc) + if [ -n "${header_dir}" ]; then + cflags_for_target="${cflags_for_target} -idirafter ${header_dir}" + fi + # Assume '-O2' by default for building target libraries. cflags_for_target="-g -O2 ${cflags_for_target}" @@ -1227,7 +1250,7 @@ do_gcc_backend() { --target=${CT_TARGET} \ --prefix="${prefix}" \ --exec_prefix="${exec_prefix}" \ - ${CT_CC_SYSROOT_ARG} \ + "${CT_CC_SYSROOT_ARG[@]}" \ "${extra_config[@]}" \ --with-local-prefix="${CT_SYSROOT_DIR}" \ --enable-long-long \ diff --git a/scripts/build/companion_libs/050-zlib.sh b/scripts/build/companion_libs/050-zlib.sh index 8c6a0f6f..07c95496 100644 --- a/scripts/build/companion_libs/050-zlib.sh +++ b/scripts/build/companion_libs/050-zlib.sh @@ -80,6 +80,10 @@ do_zlib_backend() { eval "${arg// /\\ }" done + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + cflags="${cflags} -fPIC" + fi + case "${host}" in *-mingw32) # zlib treats mingw host differently and requires using a different diff --git a/scripts/build/companion_libs/100-gmp.sh b/scripts/build/companion_libs/100-gmp.sh index 8afa5aec..28deff97 100644 --- a/scripts/build/companion_libs/100-gmp.sh +++ b/scripts/build/companion_libs/100-gmp.sh @@ -109,7 +109,7 @@ do_gmp_backend() { CT_DoLog EXTRA "Configuring GMP" - # To avoind “illegal text-relocation” linking error against + # To avoid “illegal text-relocation” linking error against # the static library, see: # https://github.com/Homebrew/homebrew-core/pull/25470 case "${host}" in @@ -118,6 +118,10 @@ do_gmp_backend() { ;; esac + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + extra_config+=("--with-pic") + fi + # GMP's configure script doesn't respect the host parameter # when not cross-compiling, ie when build == host so set # CC_FOR_BUILD and CPP_FOR_BUILD. diff --git a/scripts/build/companion_libs/110-mpfr.sh b/scripts/build/companion_libs/110-mpfr.sh index d2cb9f68..3a1916c5 100644 --- a/scripts/build/companion_libs/110-mpfr.sh +++ b/scripts/build/companion_libs/110-mpfr.sh @@ -94,6 +94,7 @@ do_mpfr_backend() { local cflags local ldflags local arg + local -a extra_config for arg in "$@"; do eval "${arg// /\\ }" @@ -101,12 +102,16 @@ do_mpfr_backend() { # Under Cygwin, we can't build a thread-safe library case "${CT_HOST}" in - *cygwin*) mpfr_opts+=( --disable-thread-safe );; - *mingw*) mpfr_opts+=( --disable-thread-safe );; - *darwin*) mpfr_opts+=( --disable-thread-safe );; - *) mpfr_opts+=( --enable-thread-safe );; + *cygwin*) extra_config+=( --disable-thread-safe );; + *mingw*) extra_config+=( --disable-thread-safe );; + *darwin*) extra_config+=( --disable-thread-safe );; + *) extra_config+=( --enable-thread-safe );; esac + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + extra_config+=("--with-pic") + fi + CT_DoLog EXTRA "Configuring MPFR" CT_DoExecLog CFG \ CC="${host}-gcc" \ @@ -117,6 +122,7 @@ do_mpfr_backend() { --build=${CT_BUILD} \ --host=${host} \ --prefix="${prefix}" \ + "${extra_config[@]}" \ --with-gmp="${prefix}" \ --disable-shared \ --enable-static diff --git a/scripts/build/companion_libs/121-isl.sh b/scripts/build/companion_libs/121-isl.sh index 3577b756..d7f69256 100644 --- a/scripts/build/companion_libs/121-isl.sh +++ b/scripts/build/companion_libs/121-isl.sh @@ -82,6 +82,10 @@ do_isl_backend() { eval "${arg// /\\ }" done + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + extra_config+=("--with-pic") + fi + CT_DoLog EXTRA "Configuring ISL" CT_DoExecLog CFG \ diff --git a/scripts/build/companion_libs/130-cloog.sh b/scripts/build/companion_libs/130-cloog.sh index 9ee897ab..5170b53b 100644 --- a/scripts/build/companion_libs/130-cloog.sh +++ b/scripts/build/companion_libs/130-cloog.sh @@ -83,6 +83,10 @@ do_cloog_backend() { cloog_opts+=( --with-isl=system --with-isl-prefix="${prefix}" ) cloog_opts+=( --without-osl ) + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + cloog_opts+=("--with-pic") + fi + CT_DoLog EXTRA "Configuring CLooG" CT_DoExecLog CFG \ diff --git a/scripts/build/companion_libs/140-mpc.sh b/scripts/build/companion_libs/140-mpc.sh index 2166ef1b..2bbba2d9 100644 --- a/scripts/build/companion_libs/140-mpc.sh +++ b/scripts/build/companion_libs/140-mpc.sh @@ -38,6 +38,11 @@ do_mpc_for_build() { mpc_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) mpc_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" ) mpc_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" ) + + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + mpc_opts+=("--with-pic") + fi + do_mpc_backend "${mpc_opts[@]}" CT_Popd @@ -73,11 +78,17 @@ do_mpc_backend() { local cflags local ldflags local arg + local -a extra_config for arg in "$@"; do eval "${arg// /\\ }" done + if [ "${CT_CC_LANG_JIT}" = "y" ]; then + extra_config+=("--with-pic") + fi + + CT_DoLog EXTRA "Configuring MPC" CT_DoExecLog CFG \ @@ -87,6 +98,7 @@ do_mpc_backend() { "${CT_SRC_DIR}/mpc/configure" \ --build=${CT_BUILD} \ --host=${host} \ + "${extra_config[@]}" \ --prefix="${prefix}" \ --with-gmp="${prefix}" \ --with-mpfr="${prefix}" \ diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index 2afefd41..e400b219 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -131,8 +131,12 @@ glibc_backend_once() # Pre-seed the configparms file with values from the config option printf "%s\n" "${CT_GLIBC_CONFIGPARMS}" > configparms + if [ "${CT_GLIBC_ENABLE_DEBUG}" = "y" ]; then + glibc_cflags+=" -g" + fi + # glibc can't be built without -O2 (reference needed!) - glibc_cflags+=" -g -O2" + glibc_cflags+=" -O2" if [ "${CT_GLIBC_ENABLE_COMMON_FLAG}" = "y" ]; then glibc_cflags+=" -fcommon" diff --git a/scripts/config.guess b/scripts/config.guess index e81d3ae7..980b0208 100755 --- a/scripts/config.guess +++ b/scripts/config.guess @@ -1,14 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-06-03' +timestamp='2022-09-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -437,7 +437,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 @@ -929,6 +929,9 @@ EOF i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) case $UNAME_MACHINE in x86) @@ -963,6 +966,12 @@ EOF GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ;; + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-pc-managarm-mlibc" + ;; + *:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" + ;; *:Minix:*:*) GUESS=$UNAME_MACHINE-unknown-minix ;; @@ -1033,7 +1042,7 @@ EOF k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + loongarch32:Linux:*:* | loongarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m32r*:Linux:*:*) @@ -1148,16 +1157,27 @@ EOF ;; x86_64:Linux:*:*) set_cc_for_build + CPU=$UNAME_MACHINE LIBCABI=$LIBC if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI=${LIBC}x32 - fi + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __i386__ + ABI=x86 + #else + #ifdef __ILP32__ + ABI=x32 + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + x86) CPU=i686 ;; + x32) LIBCABI=${LIBC}x32 ;; + esac fi - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + GUESS=$CPU-pc-linux-$LIBCABI ;; xtensa*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC @@ -1364,8 +1384,11 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. GUESS=i586-pc-haiku ;; - x86_64:Haiku:*:*) - GUESS=x86_64-unknown-haiku + ppc:Haiku:*:*) # Haiku running on Apple PowerPC + GUESS=powerpc-apple-haiku + ;; + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) + GUESS=$UNAME_MACHINE-unknown-haiku ;; SX-4:SUPER-UX:*:*) GUESS=sx4-nec-superux$UNAME_RELEASE @@ -1522,6 +1545,9 @@ EOF i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;; diff --git a/scripts/config.sub b/scripts/config.sub index d74fb6de..baf1512b 100755 --- a/scripts/config.sub +++ b/scripts/config.sub @@ -1,14 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-08-14' +timestamp='2022-09-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -145,7 +145,7 @@ case $1 in nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) + | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*) basic_machine=$field1 basic_os=$maybe_os ;; @@ -1020,6 +1020,11 @@ case $cpu-$vendor in ;; # Here we normalize CPU types with a missing or matching vendor + armh-unknown | armh-alt) + cpu=armv7l + vendor=alt + basic_os=${basic_os:-linux-gnueabihf} + ;; dpx20-unknown | dpx20-bull) cpu=rs6000 vendor=bull @@ -1121,7 +1126,7 @@ case $cpu-$vendor in xscale-* | xscalee[bl]-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - arm64-*) + arm64-* | aarch64le-*) cpu=aarch64 ;; @@ -1202,7 +1207,7 @@ case $cpu-$vendor in | k1om \ | le32 | le64 \ | lm32 \ - | loongarch32 | loongarch64 | loongarchx32 \ + | loongarch32 | loongarch64 \ | m32c | m32r | m32rle \ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ @@ -1304,7 +1309,7 @@ esac if test x$basic_os != x then -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. case $basic_os in gnu/linux*) @@ -1336,6 +1341,10 @@ EOF kernel=linux os=`echo "$basic_os" | sed -e 's|linux|gnu|'` ;; + managarm*) + kernel=managarm + os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'` + ;; *) kernel= os=$basic_os @@ -1748,7 +1757,8 @@ case $os in | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* | mlibc* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) @@ -1756,6 +1766,9 @@ case $os in ;; none) ;; + kernel* ) + # Restricted further below + ;; *) echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 exit 1 @@ -1766,16 +1779,26 @@ esac # (given a valid OS), if there is a kernel. case $kernel-$os in linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) + | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* ) ;; uclinux-uclibc* ) ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + managarm-mlibc* | managarm-kernel* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 exit 1 ;; + -kernel* ) + echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + *-kernel* ) + echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2 + exit 1 + ;; kfreebsd*-gnu* | kopensolaris*-gnu*) ;; vxworks-simlinux | vxworks-simwindows | vxworks-spe) diff --git a/scripts/crosstool-NG.sh b/scripts/crosstool-NG.sh index ea3bd686..383de66d 100644 --- a/scripts/crosstool-NG.sh +++ b/scripts/crosstool-NG.sh @@ -345,8 +345,8 @@ if [ -z "${CT_RESTART}" ]; then CT_HEADERS_DIR="${CT_SYSROOT_DIR}/usr/include" CT_SanitizeVarDir CT_SYSROOT_DIR CT_DEBUGROOT_DIR CT_HEADERS_DIR CT_BINUTILS_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}" - CT_CC_CORE_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}" - CT_CC_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}" + CT_CC_CORE_SYSROOT_ARG=("--with-sysroot=${CT_SYSROOT_DIR}") + CT_CC_SYSROOT_ARG=("--with-sysroot=${CT_SYSROOT_DIR}") # glibc's prefix must be exactly /usr, else --with-sysroot'd gcc will get # confused when $sysroot/usr/include is not present. # Note: --prefix=/usr is magic! @@ -363,8 +363,8 @@ if [ -z "${CT_RESTART}" ]; then CT_BINUTILS_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}" # Use --with-headers, else final gcc will define disable_glibc while # building libgcc, and you'll have no profiling - CT_CC_CORE_SYSROOT_ARG="--without-headers" - CT_CC_SYSROOT_ARG="--with-headers=${CT_HEADERS_DIR}" + CT_CC_CORE_SYSROOT_ARG=("--without-headers") + CT_CC_SYSROOT_ARG=("--with-headers=${CT_HEADERS_DIR}") fi CT_DoExecLog ALL mkdir -p "${CT_SYSROOT_DIR}" CT_DoExecLog ALL mkdir -p "${CT_DEBUGROOT_DIR}" @@ -437,7 +437,7 @@ if [ -z "${CT_RESTART}" ]; then t="${!r}-" fi - for tool in ar as dlltool gcc g++ gcj gnatbind gnatmake ld libtool nm objcopy objdump ranlib strip windres; do + for tool in ar as dlltool gcc g++ gcj gnatbind gdc gnatmake ld libtool nm objcopy objdump ranlib strip windres; do # First try with prefix + suffix # Then try with prefix only # Then try with suffix only, but only for BUILD, and HOST iff REAL_BUILD == REAL_HOST diff --git a/scripts/functions b/scripts/functions index c2c1493c..09fa29af 100644 --- a/scripts/functions +++ b/scripts/functions @@ -1806,7 +1806,7 @@ CT_Mirrors() '') # Ignore, this happens before .config is fully evaluated ;; - [345].*) + [3456].*) echo "https://cdn.kernel.org/pub/linux/kernel/v${version%%.*}.x" ;; 2.6.*) @@ -2283,10 +2283,11 @@ CT_DoExtractPatch() CT_DoExecLog ALL rm -f "${src_dir}/.${basename}".* fi - if [ -f "${src_dir}/.${basename}.extracted" ]; then + if [ -f "${src_dir}/.${basename}.extracted" -a -d "${src_dir}/${basename}" ]; then CT_DoLog DEBUG "Already extracted ${basename}" else CT_DoLog EXTRA "Extracting ${basename}" + CT_DoExecLog ALL rm -f "${src_dir}/.${basename}".* CT_DoExecLog ALL touch "${src_dir}/.${basename}.extracting" if [ "${src_release}" = "y" ]; then archive="${archive_filename}" |