[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/25264] RISC-V option norvc: linker complains "14 bytes required
From: |
wilson at gcc dot gnu.org |
Subject: |
[Bug gas/25264] RISC-V option norvc: linker complains "14 bytes required for alignment to 16-byte boundary, but only 12 present" |
Date: |
Tue, 10 Dec 2019 19:29:31 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=25264
Jim Wilson <wilson at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |wilson at gcc dot gnu.org
--- Comment #1 from Jim Wilson <wilson at gcc dot gnu.org> ---
This is a known problem. There is a proposal to the psABI to add new
relocations to help fix it, but there is no timetable for a fix.
One workaround is to make sure that you align before disabling rvc mode. It
you do
.option norvc
.balign 16
add you need a 2-byte nop, then you have a problem, because we can't emit a
2-byte nop in norvc mode. So you must instead do
.balign 16
.option norvc
so that the 2-byte nop gets emitted before we switch to norvc mode.
With the current set of relocations, there is no way for the linker to know if
this is a user error or a toolchain error when we see an alignment problem, so
you get a not very useful generic error.
There was also a suggestion to make option norvc/rvc imply the necessary align
operation itself, before changing the mode, but I'm not sure if that is a good
idea or not.
I think there might already be a bug report for this, but I'm too busy to look
it up at the moment.
--
You are receiving this mail because:
You are on the CC list for the bug.