[PATCH 0/2] riscv: Fix gas when encoding BE floats/doubles

Jan Beulich jbeulich@suse.com
Thu Jun 15 12:09:09 GMT 2023


On 15.06.2023 13:09, Branislav Brzak wrote:
> RISCV gas currently does not take into consideration -mbig-endian
> directive when encoding floats and doubles. The effect is that when
> -mbig-endian is supplied floats and doubles are endian flipped only
> on 2-byte boundaries, for example:
> 
> .data:
>       .float 1.1
> 
> Compiled as LE will be encoded as: 0xcdcc8c3f
> And BE encoded will be: 0x8c3fcdcc
> 
> The correct sequence is 0x3f8ccccd
> 
> This patch introduces a fix in float/double endian encoding and
> set of tests that verify validity of LE and BE float and double
> encoding.
> 
> Branislav Brzak (2):
>       gas: Fix float/double BE encoding in RISCV.
>       riscv: Add LE/BE float/double encoding tests.
> 
>  gas/config/tc-riscv.c
>  gas/testsuite/gas/riscv/double-be.d | 18 ++++++++++++++++++
>  gas/testsuite/gas/riscv/double-le.d | 18 ++++++++++++++++++
>  gas/testsuite/gas/riscv/double.s    | 21 +++++++++++++++++++++
>  gas/testsuite/gas/riscv/float-be.d  | 13 +++++++++++++
>  gas/testsuite/gas/riscv/float-le.d  | 13 +++++++++++++
>  gas/testsuite/gas/riscv/float.s     | 21 +++++++++++++++++++++
>  7 files changed, 105 insertions(+), 1 deletion(-)

Did you see
https://sourceware.org/pipermail/binutils/2023-June/127845.html
? (Only the cover letter came through so far, so I can't tell yet
whether you do anything different than Andreas does. Also, as an
aside, it typically helps if you Cc arch maintainers for arch
patches.)

Jan


More information about the Binutils mailing list