Bug 27904

Summary: aarch64: Internal error in ldst_lo12_determine_real_reloc_type at ../../../gas/config/tc-aarch64.c:5657
Product: binutils Reporter: Fangrui Song <i>
Component: gasAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: nickc, nsz
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target: aarch64-*
Build: Last reconfirmed:

Description Fangrui Song 2021-05-24 00:08:18 UTC
% cat a.s
ldr q24, [x23, :dtprel_lo12_nc:sym]

% ~/Dev/binutils-gdb/out/aarch64/gas/as-new a.s -o a.o
a.s: Assembler messages:
a.s:1: Internal error in ldst_lo12_determine_real_reloc_type at ../../../gas/config/tc-aarch64.c:5657.
Please report this bug.
Comment 1 Sourceware Commits 2021-06-17 15:20:13 UTC
The master branch has been updated by Nick Clifton <nickc@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=96cbfd9f0488e9536bfc27550ebf90cb1ecac93b

commit 96cbfd9f0488e9536bfc27550ebf90cb1ecac93b
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 17 16:19:20 2021 +0100

    Fix an assertion failure in the AArch64 assembler triggered by incorrect instruction syntax.
    
            PR 27904
            * config/tc-aarch64.c (ldst_lo12_determine_real_reloc_type):
            Generate a syntax error message if the reloc qualifier does not
            match the instruction's size.
Comment 2 Nick Clifton 2021-06-17 15:20:40 UTC
Fixed.