gnu: gcc-arm-none-eabi-4.9: Fix incompatible redeclaration.

* gnu/packages/patches/gcc-4.9-inline.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[source]: Use it.
This commit is contained in:
Ricardo Wurmus 2023-04-23 13:08:48 +02:00
parent 01d7fc9d56
commit e6994d7e3f
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
3 changed files with 22 additions and 6 deletions

View File

@ -1155,6 +1155,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-cross-gxx-include-dir.patch \
%D%/packages/patches/gcc-fix-texi2pod.patch \
%D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-inline.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \
%D%/packages/patches/gcc-libsanitizer-ustat.patch \

View File

@ -98,12 +98,14 @@
(base32
"113r98kygy8rrjfv2pd3z6zlfzbj543pq7xyq8bgh72c608mmsbr"))
;; Remove the one patch that doesn't apply to this 4.9 snapshot (the
;; patch is for 4.9.4 and later but this svn snapshot is older).
(patches (remove (lambda (patch)
(string=? (basename patch)
"gcc-arm-bug-71399.patch"))
(origin-patches (package-source xgcc))))))
(patches (cons (search-patch "gcc-4.9-inline.patch")
;; Remove the one patch that doesn't apply to this 4.9
;; snapshot (the patch is for 4.9.4 and later but this
;; svn snapshot is older).
(remove (lambda (patch)
(string=? (basename patch)
"gcc-arm-bug-71399.patch"))
(origin-patches (package-source xgcc)))))))
(native-inputs
`(("flex" ,flex)
("gcc@5" ,gcc-5)

View File

@ -0,0 +1,13 @@
diff -ru a/gcc/cp/cfns.h b/gcc/cp/cfns.h
--- a/gcc/cp/cfns.h 1970-01-01 01:00:01.000000000 +0100
+++ b/gcc/cp/cfns.h 2023-04-23 09:23:28.883815598 +0200
@@ -53,6 +53,9 @@
static unsigned int hash (const char *, unsigned int);
#ifdef __GNUC__
__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
#endif
const char * libc_name_p (const char *, unsigned int);
/* maximum key range = 391, duplicates = 0 */