[v2] aarch64: Fix build failure due to missing header
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-arm |
success
|
Test passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
fail
|
Patch failed to apply
|
Commit Message
Including the "arm_acle.h" header in aarch64-unwind.h requires
stdint.h to be present and it may not be available during the
first stage of cross-compilation of GCC.
When cross-building GCC for the aarch64-none-linux-gnu target
(on any supporting host) using the 3-stage bootstrap build
process when we build native compiler from source, libgcc fails
to compile due to missing header that has not been installed yet.
This could be worked around but it's better to fix the issue.
libgcc/ChangeLog:
* config/aarch64/aarch64-unwind.h (_CHKFEAT_GCS): Add.
---
Regression tested on aarch64-unknown-linux-gnu and no regressions have been found.
Is this OK for trunk?
Applies to fe29b03825c.
Thanks,
Yury
---
libgcc/config/aarch64/aarch64-unwind.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
> On 29 Nov 2024, at 14:49, Yury Khrustalev <yury.khrustalev@arm.com> wrote:
>
> Including the "arm_acle.h" header in aarch64-unwind.h requires
> stdint.h to be present and it may not be available during the
> first stage of cross-compilation of GCC.
>
> When cross-building GCC for the aarch64-none-linux-gnu target
> (on any supporting host) using the 3-stage bootstrap build
> process when we build native compiler from source, libgcc fails
> to compile due to missing header that has not been installed yet.
>
> This could be worked around but it's better to fix the issue.
>
Ok.
Thanks,
Kyrill
> libgcc/ChangeLog:
>
> * config/aarch64/aarch64-unwind.h (_CHKFEAT_GCS): Add.
>
> ---
>
> Regression tested on aarch64-unknown-linux-gnu and no regressions have been found.
> Is this OK for trunk?
> Applies to fe29b03825c.
>
> Thanks,
> Yury
>
> ---
> libgcc/config/aarch64/aarch64-unwind.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/libgcc/config/aarch64/aarch64-unwind.h b/libgcc/config/aarch64/aarch64-unwind.h
> index 85468f9685e..d11753a0e03 100644
> --- a/libgcc/config/aarch64/aarch64-unwind.h
> +++ b/libgcc/config/aarch64/aarch64-unwind.h
> @@ -29,7 +29,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
>
> #include "ansidecl.h"
> #include <stdbool.h>
> -#include <arm_acle.h>
>
> #define AARCH64_DWARF_REGNUM_RA_STATE 34
> #define AARCH64_DWARF_RA_STATE_MASK 0x1
> @@ -180,7 +179,7 @@ aarch64_demangle_return_addr (struct _Unwind_Context *context,
> }
>
> /* GCS enable flag for chkfeat instruction. */
> -
> +#define _CHKFEAT_GCS 1
> /* SME runtime function local to libgcc, streaming compatible
> and preserves more registers than the base PCS requires, but
> we don't rely on that here. */
> --
> 2.39.5
>
@@ -29,7 +29,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "ansidecl.h"
#include <stdbool.h>
-#include <arm_acle.h>
#define AARCH64_DWARF_REGNUM_RA_STATE 34
#define AARCH64_DWARF_RA_STATE_MASK 0x1
@@ -180,7 +179,7 @@ aarch64_demangle_return_addr (struct _Unwind_Context *context,
}
/* GCS enable flag for chkfeat instruction. */
-
+#define _CHKFEAT_GCS 1
/* SME runtime function local to libgcc, streaming compatible
and preserves more registers than the base PCS requires, but
we don't rely on that here. */