https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115148
Oleg Endo <olegendo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-05-19
Ever confirmed|0 |1
--- Comment #3 from Oleg Endo <olegendo at gcc dot gnu.org> ---
In your attached libcanberra_la-read-vorbis.s I can spot the following
suspicious code:
.LBB70:
.loc 1 44 9 is_stmt 0
mova .L52,r0
.LVL48:
mov.b @(r0,r2),r1
extu.b r1,r1
.LVL49:
braf r1
nop
.....
.L82:
.long ca_vorbis_get_nchannels@PLT-(.LPCS10+2-.)
.L86:
.long free@PLT-(.LPCS9+2-.)
.L87:
.long ov_clear@PLT-(.LPCS11+2-.)
.align 2
.L52:
.byte .L54-.L53
.byte .L54-.L53
.byte .L51-.L53
.align 1 <<<< (1)
.L54:
.LBE70:
.LBE72: <<<< (2)
.loc 1 61 24
bra .L50
mov #-7,r9
In (1) a lookup table of 3 bytes is emitted. Because of the following ".align
1" directive, the following code at (2) will be misaligned.
Can you please try to compile with -fverbose-asm .... maybe it will give a
first hint as to where the problematic code comes from.