Bug 23691 - [2.32 Regression] FAIL: gas/rx/gprel
Summary: [2.32 Regression] FAIL: gas/rx/gprel
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: gas (show other bugs)
Version: 2.32
: P2 normal
Target Milestone: 2.32
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-20 15:09 UTC by H.J. Lu
Modified: 2021-02-23 23:51 UTC (History)
1 user (show)

See Also:
Host:
Target: rx-elf
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2018-09-20 15:09:30 UTC
I got

/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Assembler messages:
/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Error: Unknown reloc in md_apply_fix: BFD_RELOC_RL78_HI8
/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Error: Unknown reloc in md_apply_fix: BFD_RELOC_RL78_HI8
/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Error: Unknown reloc in md_apply_fix: BFD_RELOC_RL78_LO16
/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Error: Unknown reloc in md_apply_fix: BFD_RELOC_RL78_LO16
/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Error: Unknown reloc in md_apply_fix: BFD_RELOC_RL78_CODE
/export/gnu/import/git/sources/binutils-gdb/gas/testsuite/gas/rx/gprel.s: Error: Unknown reloc in md_apply_fix: BFD_RELOC_RL78_CODE
Comment 1 H.J. Lu 2018-09-20 15:17:58 UTC
This caused by

commit fbaf61ad525eb2818598b699d44df32e46583925
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Sep 20 13:27:31 2018 +0100

    Andes Technology has good news for you, we plan to update the nds32 port of binutils on upstream!
Comment 2 Sourceware Commits 2018-09-21 11:38:06 UTC
The master branch has been updated by H.J. Lu <hjl@sourceware.org>:

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

commit 0192e8aeeb1f54ba10318d1b5a838749e20d233b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 21 04:36:08 2018 -0700

    Correct ChangeLog entry for commit b8426d169d3f8a
    
    commit b8426d169d3f8ab820f3bdaf45fbc64f8bb827ed
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Fri Sep 21 04:24:40 2018 -0700
    
        gas: Make bfin-parse.c/rl78-parse.c/rx-parse.c depend on bfd/reloc.c
    
    It is for PR gas/23691, not PR gas/23692.
Comment 3 H.J. Lu 2018-09-21 11:38:55 UTC
Fixed for 2.32.
Comment 4 Sourceware Commits 2021-02-23 23:51:42 UTC
The master branch has been updated by Alan Modra <amodra@sourceware.org>:

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

commit 55add51eef6b4f89d44e1a6753d4dd926cab70c7
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 23 21:54:25 2021 +1030

    PR23691, gas .y files vs. automatic make dependencies
    
    A number of targets, bfin, rl78, rx, can show odd failures when
    bfd/reloc.c changes BFD_RELOC_* enum values, if recompiling over a
    build dir with existing objects.  The problem is caused by
    bfin-parse.o and similar not being recompiled and so using stale
    BFD_RELOC_* values.  This isn't fixed by making bfin-parse.c depend on
    bfd/reloc.c, which isn't necessary anyway.  bfin-parse.o should have
    been recompiled due to bfd/bfd.h changing when extracted bfd/reloc.c
    BFD_RELOC_* values change, but that wasn't happening.  The problem is
    that automake generates a makefile that loads gas/config/.deps/
    dependency file for objects with corresponding sources mentioned in
    EXTRA_as_new_SOURCES.  Unless we want to mess around generating
    explicit dependencies, I think that mean moving some object files to
    the build gas/config/.  This patch does that, removing some hacks for
    m68k-parse.c that should no longer be necessary, and removes some
    rules that catered to old bison producing code that triggers compiler
    warnings.
    
            PR 23691
            * Makefile.am (TARGET_CPU_CFILES): Split off config/xtensa-relax.c..
            (TARGET_CPU_HFILES): ..and config/xtensa-relax.h..
            (TARGET_EXTRA_FILES): ..to here.  Add config/bfin-lex-wrapper.c,
            and use alongside TARGET_CPU_CFILES.
            (EXTRA_DIST): Update location of generated .c files.
            (config/m68k-parse.c): New rule replacing m68k-parse.c rule.
            (config/bfin-parse.c, config/rl78-parse.cm config/rx-parse.c),
            (config/bfin-lex.c, config/bfin-lex-wrapper.@OBJEXT@): Similarly.
            (itbl-lex-wrapper.@OBJEXT@): Simplify to just the needed
            dependencies.
            (itbl-parse.@OBJEXT@): Delete rule using NO_WERROR.
            (itbl-parse.c, itbl-parse.h): Tidy.
            * config/bfin-lex-wrapper.c: Include config/bfin-lex.c.
            * config/bfin-lex.l: Include config/bfin-parse.h.
            * configure.ac (extra_objects): Move object files corresponding
            to .y and .l files now in config/ to config/.
            * Makefile.in: Regenerate.
            * configure: Regenerate.
            * po/POTFILES.in: Regenerate.