diff options
| author | Ricardo Wurmus <rekado@elephly.net> | 2026-03-02 20:27:13 +0100 |
|---|---|---|
| committer | Ricardo Wurmus <rekado@elephly.net> | 2026-03-04 09:52:22 +0100 |
| commit | 129ff35366c866f0bf60cd2a291ce352bc5e936f (patch) | |
| tree | f440d4b17897e87c148c1ad44e50e23f2fe206dc /gnu | |
| parent | 995e7c800b7a603569989d9eaeeab975ce4ffcc4 (diff) | |
gnu: make-propeller-gcc-4: Build with GCC 5.
* gnu/packages/patches/gcc-4.6-gnu-inline.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/embedded.scm (make-propeller-gcc-4)[source]: Remove patch.
[arguments]: Remove 'pre-x86-configure phase.
[native-inputs]: Replace gcc-4.9 with gcc-5.
Change-Id: Ifb4b00952edc9053e7496ffe33f8beacd34e11ca
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/embedded.scm | 4 | ||||
| -rw-r--r-- | gnu/packages/patches/gcc-4.6-gnu-inline.patch | 65 |
3 files changed, 2 insertions, 68 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 6696ee44ee8..59de6a1649f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -1382,7 +1382,6 @@ dist_patch_DATA = \ | |||
| 1382 | %D%/packages/patches/gcc-libvtv-runpath.patch \ | 1382 | %D%/packages/patches/gcc-libvtv-runpath.patch \ |
| 1383 | %D%/packages/patches/gcc-strmov-store-file-names.patch \ | 1383 | %D%/packages/patches/gcc-strmov-store-file-names.patch \ |
| 1384 | %D%/packages/patches/gcc-4-compile-with-gcc-5.patch \ | 1384 | %D%/packages/patches/gcc-4-compile-with-gcc-5.patch \ |
| 1385 | %D%/packages/patches/gcc-4.6-gnu-inline.patch \ | ||
| 1386 | %D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \ | 1385 | %D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \ |
| 1387 | %D%/packages/patches/gcc-5-hurd.patch \ | 1386 | %D%/packages/patches/gcc-5-hurd.patch \ |
| 1388 | %D%/packages/patches/gcc-5.0-libvtv-runpath.patch \ | 1387 | %D%/packages/patches/gcc-5.0-libvtv-runpath.patch \ |
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index f5fa70c75df..3ec68e78d03 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm | |||
| @@ -1147,17 +1147,17 @@ with a layered architecture of JTAG interface and TAP support.") | |||
| 1147 | (append | 1147 | (append |
| 1148 | (origin-patches (package-source gcc-base)) | 1148 | (origin-patches (package-source gcc-base)) |
| 1149 | (search-patches | 1149 | (search-patches |
| 1150 | "gcc-4.6-gnu-inline.patch" | ||
| 1151 | "gcc-cross-environment-variables.patch"))))) | 1150 | "gcc-cross-environment-variables.patch"))))) |
| 1152 | (arguments | 1151 | (arguments |
| 1153 | (substitute-keyword-arguments (package-arguments xgcc) | 1152 | (substitute-keyword-arguments (package-arguments xgcc) |
| 1154 | ((#:phases phases) | 1153 | ((#:phases phases) |
| 1155 | #~(modify-phases #$phases | 1154 | #~(modify-phases #$phases |
| 1155 | (delete 'pre-x86-configure) | ||
| 1156 | (add-after 'unpack 'chdir | 1156 | (add-after 'unpack 'chdir |
| 1157 | (lambda _ (chdir "gcc"))))))) | 1157 | (lambda _ (chdir "gcc"))))))) |
| 1158 | (native-inputs | 1158 | (native-inputs |
| 1159 | (modify-inputs (package-native-inputs xgcc) | 1159 | (modify-inputs (package-native-inputs xgcc) |
| 1160 | (prepend gcc-4.9))) | 1160 | (prepend gcc-5))) |
| 1161 | (home-page "https://github.com/parallaxinc/propgcc") | 1161 | (home-page "https://github.com/parallaxinc/propgcc") |
| 1162 | (supported-systems (delete "aarch64-linux" %supported-systems)))))) | 1162 | (supported-systems (delete "aarch64-linux" %supported-systems)))))) |
| 1163 | 1163 | ||
diff --git a/gnu/packages/patches/gcc-4.6-gnu-inline.patch b/gnu/packages/patches/gcc-4.6-gnu-inline.patch deleted file mode 100644 index 710d358a8b6..00000000000 --- a/gnu/packages/patches/gcc-4.6-gnu-inline.patch +++ /dev/null | |||
| @@ -1,65 +0,0 @@ | |||
| 1 | This patch was taken from https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00375.html. | ||
| 2 | It is used by propeller-gcc-4. | ||
| 3 | |||
| 4 | Since the 3.0.3 release of gperf (made in May 2007), the generated func | ||
| 5 | has had the gnu_inline attribute applied to it. The gcc source however | ||
| 6 | has not been updated to include that which has lead to a mismatch. | ||
| 7 | |||
| 8 | In practice, this hasn't been an issue for two reasons: | ||
| 9 | (1) Before gcc-5, the default standard was (gnu) C89, and gcc does not | ||
| 10 | warn or throw an error in this mode. | ||
| 11 | (2) Starting with gcc-4.8, the compiler driver used to build gcc was | ||
| 12 | changed to C++, and g++ does not warn or throw an error in this mode. | ||
| 13 | |||
| 14 | This error does show up though when using gcc-5 to build gcc-4.7 or | ||
| 15 | older as then the default is (gnu) C11 and the C compiler driver is | ||
| 16 | used. That failure looks like: | ||
| 17 | In file included from .../gcc-4.7.4/gcc/cp/except.c:990:0: | ||
| 18 | cfns.gperf: At top level: | ||
| 19 | cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p' | ||
| 20 | cfns.gperf:26:14: error: but not here | ||
| 21 | |||
| 22 | Whether the compiler should always emit this error regardless of the | ||
| 23 | active standard or compiler driver is debatable (I think it should be | ||
| 24 | consistent -- either always do it or never do it). | ||
| 25 | |||
| 26 | 2015-08-06 Mike Frysinger <vapier@gentoo.org> | ||
| 27 | |||
| 28 | * cfns.gperf [__GNUC__, __GNUC_STDC_INLINE__]: Apply the | ||
| 29 | __gnu_inline__ attribute. | ||
| 30 | * cfns.h: Regenerated. | ||
| 31 | --- | ||
| 32 | gcc/cp/cfns.gperf | 3 +++ | ||
| 33 | gcc/cp/cfns.h | 3 +++ | ||
| 34 | 2 files changed, 6 insertions(+) | ||
| 35 | |||
| 36 | diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf | ||
| 37 | index 68acd3d..953262f 100644 | ||
| 38 | --- a/gcc/cp/cfns.gperf | ||
| 39 | +++ b/gcc/cp/cfns.gperf | ||
| 40 | @@ -22,6 +22,9 @@ __inline | ||
| 41 | static unsigned int hash (const char *, unsigned int); | ||
| 42 | #ifdef __GNUC__ | ||
| 43 | __inline | ||
| 44 | +#ifdef __GNUC_STDC_INLINE__ | ||
| 45 | +__attribute__ ((__gnu_inline__)) | ||
| 46 | +#endif | ||
| 47 | #endif | ||
| 48 | const char * libc_name_p (const char *, unsigned int); | ||
| 49 | %} | ||
| 50 | diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h | ||
| 51 | index 1c6665d..6d00c0e 100644 | ||
| 52 | --- a/gcc/cp/cfns.h | ||
| 53 | +++ b/gcc/cp/cfns.h | ||
| 54 | @@ -53,6 +53,9 @@ __inline | ||
| 55 | static unsigned int hash (const char *, unsigned int); | ||
| 56 | #ifdef __GNUC__ | ||
| 57 | __inline | ||
| 58 | +#ifdef __GNUC_STDC_INLINE__ | ||
| 59 | +__attribute__ ((__gnu_inline__)) | ||
| 60 | +#endif | ||
| 61 | #endif | ||
| 62 | const char * libc_name_p (const char *, unsigned int); | ||
| 63 | /* maximum key range = 391, duplicates = 0 */ | ||
| 64 | -- | ||
| 65 | 2.4.4 | ||
