[PATCH] RTEMS: Use TLS for Ada run-time
Do not use the RTEMS-specific task variables for the Ada run-time since they are not available in SMP configurations. Use thread-local storage instead. gcc/ada 2017-06-01 Sebastian Huber * Makefile.in (rtems): Use TLS implementation. --- gcc/ada/gcc-interface/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 5f570cf34c5..6acff9899eb 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -1734,7 +1734,7 @@ ifeq ($(strip $(filter-out rtems%,$(target_os))),) s-parame.adbhttp://lists.rtems.org/mailman/listinfo/devel
[PATCH 4/6] Use default prerequisites for GCC 7.1
Use prerequisites as defined by the contrib/download_prerequisites script of GCC 7.1. --- rtems/config/tools/rtems-gcc-7.1.0-newlib-2.5.0.20170323-1.cfg | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/rtems/config/tools/rtems-gcc-7.1.0-newlib-2.5.0.20170323-1.cfg b/rtems/config/tools/rtems-gcc-7.1.0-newlib-2.5.0.20170323-1.cfg index ffadf0b..a9a600d 100644 --- a/rtems/config/tools/rtems-gcc-7.1.0-newlib-2.5.0.20170323-1.cfg +++ b/rtems/config/tools/rtems-gcc-7.1.0-newlib-2.5.0.20170323-1.cfg @@ -7,9 +7,9 @@ %define gcc_version7.1.0 %define newlib_version 2.5.0.20170323 -%define mpfr_version 3.1.5 +%define mpfr_version 3.1.4 %define mpc_version1.0.3 -%define gmp_version4.3.2 +%define gmp_version6.1.0 # # FreeBSD specific fix for MIPS @@ -21,10 +21,9 @@ %hash sha512 gcc-7.1.0.tar.bz2 b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec %hash sha512 newlib-2.5.0.20170323.tar.gz 323992603f994e82d1b8117da39ce08f8a6584330606e2d053ccefc62fce5682ac47f983aa3bc526c85bcabbcfce85cf607b08f87c5435d00cec6727c006f6b7 -%hash sha512 mpfr-3.1.5.tar.bz2 ebf94f49e1f850db6304eec8bf3cbf592b9fb06b743e0a99a660edae3c086aa47cdd089ea958fd4631ff02a444ec034b5e45d7e9701704d74c2e2d49021e49a7 +%hash sha512 mpfr-3.1.4.tar.bz2 51066066ff2c12ed2198605ecf68846b0c96b548adafa5b80e0c786d0df488411a5e8973358fce7192dc977ad4e68414cf14500e3c39746de62465eb145bb819 %hash sha512 mpc-1.0.3.tar.gz 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43 -%hash sha512 mpc-0.8.1.tar.gz 14cb9ae3d33caed24d5ae648eed28b2e00ad047a8baeff25981129af88245b4def2948573d7a00d65c5bd34e53524aa6a7351b76703c9f888b41830c1a1daae2 -%hash sha512 gmp-4.3.2.tar.bz2 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf +%hash sha512 gmp-6.1.0.tar.bz2 3c82aeab9c1596d4da8afac2eec38e429e84f3211e1a572cf8fd2b546493c44c039b922a1133eaaa48bd7f3e11dbe795a384e21ed95cbe3ecc58d7ac02246117 %patch add newlib -p1 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=patch;h=f70d9ae6adc6ed7952806056349ba9f8ba3c65c8 -- 2.12.0 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 3/6] Fix for GCC 4.9 while building with GCC 6+
See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69959 --- source-builder/config/gcc-4.9-1.cfg | 9 + 1 file changed, 9 insertions(+) diff --git a/source-builder/config/gcc-4.9-1.cfg b/source-builder/config/gcc-4.9-1.cfg index 7d6a440..bef0c93 100644 --- a/source-builder/config/gcc-4.9-1.cfg +++ b/source-builder/config/gcc-4.9-1.cfg @@ -25,6 +25,15 @@ %source set mpc http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz %source set gmp ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%patch add gcc -p1 https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=gcc/cp/Make-lang.in;h=b09fb02bb4c0d16fc2c842bec4069c033897b5f2;hp=e98beb1e33e4bcc4943361c559ae71b7eb345346;hb=1e5f1089dec3af328fd03125d6778f666d0bd4e4;hpb=88375bb2ba8b9004a9924cdae894d7ff32972652 +%hash sha512 Make-lang.in-h-b09fb02bb4c0d16fc2c842bec4069c033897b5f2-hp-e98beb1e33e4bcc4943361c559ae71b7eb345346-hb-1e5f1089dec3af328fd03125d6778f666d0bd4e4-hpb-88375bb2ba8b9004a9924cdae894d7ff32972652 a47511de21fda0c0c314577ee295b8f2bc9f555084ceca88de12c931ebfe47e5fec349682085a7a1e8637e8e159b8f79188a56d42e54fda2ba5161d5bd3f56ac +%patch add gcc -p1 https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=gcc/cp/cfns.gperf;h=b09fb02bb4c0d16fc2c842bec4069c033897b5f2;hp=e98beb1e33e4bcc4943361c559ae71b7eb345346;hb=1e5f1089dec3af328fd03125d6778f666d0bd4e4;hpb=88375bb2ba8b9004a9924cdae894d7ff32972652 +%hash sha512 cfns.gperf-h-b09fb02bb4c0d16fc2c842bec4069c033897b5f2-hp-e98beb1e33e4bcc4943361c559ae71b7eb345346-hb-1e5f1089dec3af328fd03125d6778f666d0bd4e4-hpb-88375bb2ba8b9004a9924cdae894d7ff32972652 fdb49abb4f04ba627d6be7b0e0dd9bfdf3eb4b28c045627048bf1c56cabdf2c618cf084991bb847ac60c1eabf582a30ca1e0f4bfd943b9f34efd7e96879d251b +%patch add gcc -p1 https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=gcc/cp/cfns.h;h=b09fb02bb4c0d16fc2c842bec4069c033897b5f2;hp=e98beb1e33e4bcc4943361c559ae71b7eb345346;hb=1e5f1089dec3af328fd03125d6778f666d0bd4e4;hpb=88375bb2ba8b9004a9924cdae894d7ff32972652 +%hash sha512 cfns.h-h-b09fb02bb4c0d16fc2c842bec4069c033897b5f2-hp-e98beb1e33e4bcc4943361c559ae71b7eb345346-hb-1e5f1089dec3af328fd03125d6778f666d0bd4e4-hpb-88375bb2ba8b9004a9924cdae894d7ff32972652 ec0bd28a8266b136b99db4285c9a088c11fd7ba647dade5fb161308c00cb4189fa665e25ce6b139a7aa9740e97e617fd4e15ca506416dd9316e9fb7202f5c520 +%patch add gcc -p1 https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=gcc/cp/except.c;h=b09fb02bb4c0d16fc2c842bec4069c033897b5f2;hp=e98beb1e33e4bcc4943361c559ae71b7eb345346;hb=1e5f1089dec3af328fd03125d6778f666d0bd4e4;hpb=88375bb2ba8b9004a9924cdae894d7ff32972652 +%hash sha512 except.c-h-b09fb02bb4c0d16fc2c842bec4069c033897b5f2-hp-e98beb1e33e4bcc4943361c559ae71b7eb345346-hb-1e5f1089dec3af328fd03125d6778f666d0bd4e4-hpb-88375bb2ba8b9004a9924cdae894d7ff32972652 ad05ceea98d7ec95fb2312b0f31aa6260f67119d7c796a1b8c1816fbcd2738edb626705594699bec22a2f770892589f6fc296e184d329bcb967ee2587fbfc5ba + # # GCC Common build script. # -- 2.12.0 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 1/6] doc: Mention Ada language option
--- doc/source-builder.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/source-builder.txt b/doc/source-builder.txt index 2b9a17d..e996954 100644 --- a/doc/source-builder.txt +++ b/doc/source-builder.txt @@ -571,12 +571,14 @@ because they are implemented with the configuration scripts. The best way to find what is available is to grep the configuration files. for +with+ and +without+. -Following are currentlt available: +Following are currently available: '--without-rtems':: Do not build RTEMS when building an RTEMS build set. '--without-cxx':: Do not build a C++ compiler. '--with-objc':: Attempt to build a C++ compiler. '--with-fortran':: Attempt to build a Fortran compiler. +'--with-ada':: Attempt to build an Ada compiler. You need a native GNAT +installed. Why Build from Source ? --- -- 2.12.0 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 5/6] Download GCC prerequisites from GNU server
Use HTTPS instead of FTP. --- source-builder/config/gcc-6-1.cfg | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source-builder/config/gcc-6-1.cfg b/source-builder/config/gcc-6-1.cfg index 9f75d6e..c17abc3 100644 --- a/source-builder/config/gcc-6-1.cfg +++ b/source-builder/config/gcc-6-1.cfg @@ -11,7 +11,7 @@ # # GCC core and G++ # -%source set gcc ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2 +%source set gcc https://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2 # # Newlib @@ -21,9 +21,9 @@ # # Packages GCC requires # -%source set mpfr http://www.mpfr.org/mpfr-%{mpfr_version}/mpfr-%{mpfr_version}.tar.bz2 -%source set mpc http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz -%source set gmp ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 +%source set mpfr https://ftp.gnu.org/gnu/mpfr/mpfr-%{mpfr_version}.tar.bz2 +%source set mpc https://ftp.gnu.org/gnu/mpc/mpc-%{mpc_version}.tar.gz +%source set gmp https://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2 # # GCC Common build script. -- 2.12.0 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 2/6] sb: Create hopefully more valid file names
--- source-builder/sb/download.py | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source-builder/sb/download.py b/source-builder/sb/download.py index 4bba7de..dd7880d 100644 --- a/source-builder/sb/download.py +++ b/source-builder/sb/download.py @@ -26,6 +26,7 @@ from __future__ import print_function import hashlib import os +import re import stat import sys try: @@ -180,12 +181,9 @@ def _http_parser(source, pathkey, config, opts): raise error.general('gitweb.cgi path missing p or h: %s' % (url)) source['file'] = '%s-%s.patch' % (p, h) # -# Check the source file name for any extra request query data and remove if -# found. Some hosts do not like file names containing them. +# Wipe out everything special in the file name. # -if '?' in source['file']: -qmark = source['file'].find('?') -source['file'] = source['file'][:qmark] +source['file'] = re.sub(r'[^a-zA-Z0-9.\-]+', '-', source['file']) # # Check local path # -- 2.12.0 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 6/6] 4.12: Update to use Newlib 2.5.0.20170519
Add POSIX header file patches for Newlib. --- rtems/config/4.12/rtems-default.bset | 2 +- rtems/config/4.12/rtems-epiphany.bset | 2 +- rtems/config/4.12/rtems-m32c.bset | 2 +- rtems/config/4.12/rtems-or1k.bset | 2 +- rtems/config/4.12/rtems-sh.bset| 2 +- .../rtems-gcc-4.8.3-newlib-2.5.0.20170519-1.cfg| 26 .../rtems-gcc-4.9.2-newlib-2.5.0.20170519-1.cfg| 26 .../rtems-gcc-4.9.3-newlib-2.5.0.20170519-1.cfg| 26 .../rtems-gcc-6.3.0-newlib-2.5.0.20170519-1.cfg| 47 ++ .../rtems-gcc-7.1.0-newlib-2.5.0.20170519-1.cfg| 47 ++ 10 files changed, 177 insertions(+), 5 deletions(-) create mode 100644 rtems/config/tools/rtems-gcc-4.8.3-newlib-2.5.0.20170519-1.cfg create mode 100644 rtems/config/tools/rtems-gcc-4.9.2-newlib-2.5.0.20170519-1.cfg create mode 100644 rtems/config/tools/rtems-gcc-4.9.3-newlib-2.5.0.20170519-1.cfg create mode 100644 rtems/config/tools/rtems-gcc-6.3.0-newlib-2.5.0.20170519-1.cfg create mode 100644 rtems/config/tools/rtems-gcc-7.1.0-newlib-2.5.0.20170519-1.cfg diff --git a/rtems/config/4.12/rtems-default.bset b/rtems/config/4.12/rtems-default.bset index 1c54de7..21fa2ca 100644 --- a/rtems/config/4.12/rtems-default.bset +++ b/rtems/config/4.12/rtems-default.bset @@ -11,7 +11,7 @@ devel/expat-2.1.0-1 tools/rtems-binutils-2.28-1 -tools/rtems-gcc-7.1.0-newlib-2.5.0.20170323-1 +tools/rtems-gcc-7.1.0-newlib-2.5.0.20170519-1 tools/rtems-gdb-7.12-1 tools/rtems-tools-4.12-1 tools/rtems-kernel-4.12 diff --git a/rtems/config/4.12/rtems-epiphany.bset b/rtems/config/4.12/rtems-epiphany.bset index 0c58fec..ea6cdf8 100644 --- a/rtems/config/4.12/rtems-epiphany.bset +++ b/rtems/config/4.12/rtems-epiphany.bset @@ -38,6 +38,6 @@ 4.12/rtems-autotools devel/expat-2.1.0-1 tools/rtems-binutils-2.23.1-1 -tools/rtems-gcc-4.9.2-newlib-2.5.0.20170323-1.cfg +tools/rtems-gcc-4.9.2-newlib-2.5.0.20170519-1.cfg tools/rtems-gdb-7.8.1-1 tools/rtems-tools-4.12-1 diff --git a/rtems/config/4.12/rtems-m32c.bset b/rtems/config/4.12/rtems-m32c.bset index ec0d0c5..f8488b7 100644 --- a/rtems/config/4.12/rtems-m32c.bset +++ b/rtems/config/4.12/rtems-m32c.bset @@ -41,6 +41,6 @@ 4.12/rtems-autotools devel/expat-2.1.0-1 tools/rtems-binutils-2.24-1 -tools/rtems-gcc-4.8.3-newlib-2.5.0.20170323-1 +tools/rtems-gcc-4.8.3-newlib-2.5.0.20170519-1 tools/rtems-gdb-7.9-1 tools/rtems-tools-4.12-1 diff --git a/rtems/config/4.12/rtems-or1k.bset b/rtems/config/4.12/rtems-or1k.bset index 1ce8cf8..1d2a608 100644 --- a/rtems/config/4.12/rtems-or1k.bset +++ b/rtems/config/4.12/rtems-or1k.bset @@ -33,6 +33,6 @@ 4.12/rtems-autotools devel/expat-2.1.0-1 tools/rtems-binutils-2.26-1 -tools/rtems-gcc-4.9.3-newlib-2.5.0.20170323-1.cfg +tools/rtems-gcc-4.9.3-newlib-2.5.0.20170519-1 tools/rtems-tools-4.12-1 tools/rtems-gdb-7.11-1 diff --git a/rtems/config/4.12/rtems-sh.bset b/rtems/config/4.12/rtems-sh.bset index 29597a8..6d3ba54 100644 --- a/rtems/config/4.12/rtems-sh.bset +++ b/rtems/config/4.12/rtems-sh.bset @@ -13,7 +13,7 @@ devel/expat-2.1.0-1 tools/rtems-binutils-2.28-1 -tools/rtems-gcc-6.3.0-newlib-2.5.0.20170323-1 +tools/rtems-gcc-6.3.0-newlib-2.5.0.20170519-1 tools/rtems-gdb-7.12-1 tools/rtems-tools-4.12-1 tools/rtems-kernel-4.12 diff --git a/rtems/config/tools/rtems-gcc-4.8.3-newlib-2.5.0.20170519-1.cfg b/rtems/config/tools/rtems-gcc-4.8.3-newlib-2.5.0.20170519-1.cfg new file mode 100644 index 000..cfc862d --- /dev/null +++ b/rtems/config/tools/rtems-gcc-4.8.3-newlib-2.5.0.20170519-1.cfg @@ -0,0 +1,26 @@ +%define gcc_version4.8.3 +%define newlib_version 2.5.0.20170519 + +%hash sha512 gcc-4.8.3.tar.bz2 2b40d231e8445f9c1654137df509f09ce1187b475138ca7f648f710d922a1718f740b2d8a37c26e16b5e27900c60358be98229ae884a6f1f70e9df44ad24d02b +%hash sha512 newlib-2.5.0.20170519.tar.gz 3196acc2749d89f510054163ec8dab529f1b05863831ddce7ba57f027aa346133226706a0e0f52c1e67118be0b16e41dac2eb0783cd52bcd03f33f876778c9a0 + +%patch add newlib -p1 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=patch;h=15b59a15b42c4918c9e0b7bb4a3cbfd46d9b539e +%hash sha512 newlib-cygwin-git-15b59a15b42c4918c9e0b7bb4a3cbfd46d9b539e.patch fd8c019b94d33c2fcbcd0c9d5fb5c3fe5488dde5ebc229f492d7b222e962c405ee7ed981f75b1489c409f51cec892d3e59eb82763b94fac6d364a35bb6cec3d5 +%patch add newlib -p1 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=patch;h=2efb1170473ac0c560978567f39a0d69883a2f8b +%hash sha512 newlib-cygwin-git-2efb1170473ac0c560978567f39a0d69883a2f8b.patch 4e7da66589b275f49a10ab48c3b7df87f77669227b678dd63ca3088a8153a5f20b48ac6fc00ad2b54b783639b21b0089ebfee7c0ce3809f91647173e69d57629 +%patch add newlib -p1 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=patch;h=0008601042291502e479fd0d2738855b40f9b2b2 +%hash sha512 newlib-cygwin-git-0008601042291502e479fd0d2738855b40f9b2b2.patch 69a5193a3c91eac9caed40b88708b33445a