bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

I take back my bug report of 28 July


From: Jacob Navia
Subject: I take back my bug report of 28 July
Date: Fri, 30 Jul 2021 18:03:45 +0200

Dear friends
I sent you a bug report (attached) 28 July, but it is NOT a bug in your 
software « as « . Apparently the pool must be aligned to a 8 byte boundary to 
be loaded into a floating point register.

Sorry for this noise. Attached the « bug » report I sent you on July 28th

———————————————————
Dear Friends:

The instruction:

        ldr d15,=0x401acccccccc

will be assembled without any warnings. The pool will be correctly constructed 
and linked, and the correct value is stored in the pool after the current 
function. The value 0x401acccccccc corresponds to 6.7

At run-time it will not work, the register d15 is loaded with some value that 
doesn’t correspond at all to the given one.

If I write however

        ldr x15,=0x401acccccccc

The 64 bit value value will be correctly loaded into x15.Both pools are exactly 
the same.

The clang compiler does NOT assemble that instruction and emits an error:

 error: Immediate too large for register

If I change it to x15, both gas and clang agree, and the result is correct.

Note that the address of the pool appears correct under gdb disassembler: it is 
just at the position of the .ltorg pseudo instruction. I verified this by 
displaying the contents of the pool.

as -v

GNU assembler version 2.28 (aarch64-linux-gnu) using BFD version (GNU Binutils 
for Debian) 2.28

uname -a
Linux rock64 4.4.152-rockchip64 #1 SMP Sun Aug 26 14:40:54 CEST 2018 aarch64 
GNU/Linux

Thanks in advance for your help.

jacob navia

reply via email to

[Prev in Thread] Current Thread [Next in Thread]