This patch was taken from https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00375.html. It is used by propeller-gcc-4. Since the 3.0.3 release of gperf (made in May 2007), the generated func has had the gnu_inline attribute applied to it. The gcc source however has not been updated to include that which has lead to a mismatch. In practice, this hasn't been an issue for two reasons: (1) Before gcc-5, the default standard was (gnu) C89, and gcc does not warn or throw an error in this mode. (2) Starting with gcc-4.8, the compiler driver used to build gcc was changed to C++, and g++ does not warn or throw an error in this mode. This error does show up though when using gcc-5 to build gcc-4.7 or older as then the default is (gnu) C11 and the C compiler driver is used. That failure looks like: In file included from .../gcc-4.7.4/gcc/cp/except.c:990:0: cfns.gperf: At top level: cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p' cfns.gperf:26:14: error: but not here Whether the compiler should always emit this error regardless of the active standard or compiler driver is debatable (I think it should be consistent -- either always do it or never do it). 2015-08-06 Mike Frysinger * cfns.gperf [__GNUC__, __GNUC_STDC_INLINE__]: Apply the __gnu_inline__ attribute. * cfns.h: Regenerated. --- gcc/cp/cfns.gperf | 3 +++ gcc/cp/cfns.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf index 68acd3d..953262f 100644 --- a/gcc/cp/cfns.gperf +++ b/gcc/cp/cfns.gperf @@ -22,6 +22,9 @@ __inline 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); %} diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h index 1c6665d..6d00c0e 100644 --- a/gcc/cp/cfns.h +++ b/gcc/cp/cfns.h @@ -53,6 +53,9 @@ __inline 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 */ -- 2.4.4 077adbe9f5b6250d7a14803a53'>tests/install.scm
AgeCommit message (Expand)Author
2024-05-27tests: install: Use a default qemu machine for arm architectures....* gnu/tests/install.scm (qemu-command*): Adjust qemu command when run on armhf-linux or aarch64-linux to include a machine type. (run-install): Same. Change-Id: I32f85183cd8ec39c6a2e66624954743fd5983582 Efraim Flashner
2024-05-27tests: install: Add support for aarch64 UEFI tests....* gnu/tests/install.scm (uefi-firmware): Add case for aarch64. Change-Id: I77a506f792790954a289eda5a7a395a2b37c19c7 Efraim Flashner
2024-05-27gnu: Use new ovmf firmware packages....* doc/guix.texi (Invoking guix system): Update qemu command to use ovmf-x86-64. * gnu/packages/virtualization.scm (xen)[inputs]: Replace ovmf with ovmf-i686. * gnu/tests/install.scm (uefi-firmware): Use system appropriate ovmf firmware. Change-Id: Ia2ff76eaf766c8d4fb0be4a7cc7b8941574433d0 Efraim Flashner
2024-02-21tests: install: Fix encrypted-root-not-boot-os test....Fix build failure caused by lack of free disk space. * gnu/tests/install.scm (%test-encrypted-root-not-boot-os): Increase the root partition to 1600 MiB. Change-Id: I9f8378c37743ae8e59a72228b9e8bdbad93b4473 Oleg Pykhalov