Re: [PATCH] RISC-V: create new frag after alignment.
夏立方
lifang_xia@c-sky.com
Sat Jan 22 09:31:43 GMT 2022
commited.
------------------------------------------------------------------
Sender:Nelson Chu <nelson.chu@sifive.com>
Sent At:2022 Jan. 21 (Fri.) 12:43
Recipient:夏立方 <lifang_xia@c-sky.com>
Cc:binutils@sourceware.org <binutils@sourceware.org>; nelsonc1225 <nelsonc1225@sourceware.org>; Lifang Xia <lifang_xia@linux.alibaba.com>
Subject:Re: [PATCH] RISC-V: create new frag after alignment.
OK, looks good. Please commit, otherwise we may get the wrong debug info.
Thanks
Nelson
On Thu, Jan 20, 2022 at 2:26 PM Lifang Xia <lifang_xia@c-sky.com> wrote:
>
> From: Lifang Xia <lifang_xia@linux.alibaba.com>
>
> PR 28793:
>
> The alignment may be removed in linker. We need to create new frag after
> alignment to prevent the assembler from computing static offsets.
>
> gas/
> * config/tc-riscv.c (riscv_frag_align_code): Create new frag.
> ---
> gas/config/tc-riscv.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
> index 390aaf1710b..25908597436 100644
> --- a/gas/config/tc-riscv.c
> +++ b/gas/config/tc-riscv.c
> @@ -3913,6 +3913,12 @@ riscv_frag_align_code (int n)
>
> riscv_mapping_state (MAP_INSN, worst_case_bytes);
>
> + /* We need to start a new frag after the alignment which may be removed by
> + the linker, to prevent the assembler from computing static offsets.
> + This is necessary to get correct EH info. */
> + frag_wane (frag_now);
> + frag_new (0);
> +
> return true;
> }
>
> --
> 2.17.1
>
More information about the Binutils
mailing list