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