Subject: bug#73524: 29.4; bug-reference-mode matches regexp case-insensitively

From: Eli Zaretskii <[email-masked]>
Date: Sat, 28 Sep 2024 20:52:46 +0300

> From: Ulrich Mueller <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Sat, 28 Sep 2024 19:25:19 +0200
> 
> >>>>> On Sat, 28 Sep 2024, Tassilo Horn wrote:
> 
> > Eli Zaretskii <[email-masked]> writes:
> >> 
> >> If we want to always match case-insensitively in bug-reference, then
> >> we could bind case-fold-search to t in bug-reference-fontify, no?
> 
> > Sure, if we are convinced that there's really no scenario where bug
> > references are case-sensitive.  I would think this is very uncommon but
> > not impossible.
> 
> What about the other examples in the default, i.e. "RFE" and "PR"?
> I'm not completely convinced that matching their lower-case form would
> be a good thing.

I see in binutils-gdb repository most "PR" are in upper-case, but
all.  Example:

  commit ecb915b4de7569027ad78bd3e24873bb92cb8e32
  Author:     Nelson Chu <[email-masked]>
  AuthorDate: Mon Sep 12 09:26:52 2022 +0800
  Commit:     Nelson Chu <[email-masked]>
  CommitDate: Mon Sep 12 11:31:41 2022 +0800

      RISC-V: PR28509, the default visibility symbol cannot be referenced by R_RIS

      When generating the shared object, the default visibility symbols may bind
      externally, which means they will be exported to the dynamic symbol table,
      and are preemptible by default.  These symbols cannot be referenced by the
      non-pic R_RISCV_JAL and R_RISCV_RVC_JUMP.  However, consider that linker
      may relax the R_RISCV_CALL relocations to R_RISCV_JAL or R_RISCV_RVC_JUMP,
      if these relocations are relocated to the plt entries, then we won't report
      error for them.  Perhaps we also need the similar checks for the
      R_RISCV_BRANCH and R_RISCV_RVC_BRANCH relocations.

      After applying this patch, and revert the following glibc patch,
      riscv: Fix incorrect jal with HIDDEN_JUMPTARGET
      https://sourceware.org/git/?p=glibc.git;a=commit;h=68389203832ab39dd0dbaabbc

      I get the expected errors as follows,
      ld: relocation R_RISCV_RVC_JUMP against `__sigsetjmp' which may bind externa    ld: relocation R_RISCV_JAL against `exit' which may bind externally can not

      Besides, we also have similar changes for libgcc,
      RISC-V: jal cannot refer to a default visibility symbol for shared object
      https://github.com/gcc-mirror/gcc/commit/45116f342057b7facecd3d05c2091ce3a77

      bfd/
	      pr 28509
	      * elfnn-riscv.c (riscv_elf_relocate_section): Report errors when
	      makeing a shard object, and the referenced symbols of R_RISCV_JAL
	      relocations are default visibility.  Besides, we should handle most
	      of the cases here, so don't need the unresolvable check later for
	      R_RISCV_JAL and R_RISCV_RVC_JUMP.
      ld/
	      pr 28509
	      * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
	      * testsuite/ld-riscv-elf/lib-nopic-01a.s: Removed.
	      * testsuite/ld-riscv-elf/lib-nopic-01b.d: Likewise.
	      * testsuite/ld-riscv-elf/lib-nopic-01b.s: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-01.d: New testcase.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-01.s: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-02.d: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-02.s: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-03.d: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-03.s: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-04.d: Likewise.
	      * testsuite/ld-riscv-elf/shared-lib-nopic-04.s: Likewise.

Not sure about RFE (where is that used?)