[Bug binutils/31527] gdb is not working for UNC path

2024-04-08 Thread zhiqxion at qti dot qualcomm.com
https://sourceware.org/bugzilla/show_bug.cgi?id=31527

--- Comment #3 from Zhiqing Xiong  ---
Thanks Nick.

does this change will be released in GDB 15.1 ?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function

2024-04-08 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=31595

Nick Clifton  changed:

   What|Removed |Added

   Assignee|unassigned at sourceware dot org   |victorldn at sourceware 
dot org
 Status|NEW |ASSIGNED

--- Comment #2 from Nick Clifton  ---
Hi Victor,

  Thanks very much for taking a look at this. :-)

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31527] gdb is not working for UNC path

2024-04-08 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=31527

--- Comment #4 from Nick Clifton  ---
(In reply to Zhiqing Xiong from comment #3)

> does this change will be released in GDB 15.1 ?

Yes.  Or maybe 14.3.  I am not sure of the number of the next GDB release...

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31527] gdb is not working for UNC path

2024-04-08 Thread zhiqxion at qti dot qualcomm.com
https://sourceware.org/bugzilla/show_bug.cgi?id=31527

--- Comment #5 from Zhiqing Xiong  ---
That's great.

Thanks Nick.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/31615] Hang when linking vorbis-tools

2024-04-08 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=31615

--- Comment #15 from Sourceware Commits  ---
The binutils-2_42-branch branch has been updated by Alan Modra
:

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

commit 6224493e457e72b11818c87cdc112bdb0fee5f81
Author: Alan Modra 
Date:   Mon Apr 8 08:16:20 2024 +0930

Re: PR26978, Inconsistency for strong foo@v1 and weak foo@@v1

Commit 726d7d1ecf opened a hole that allowed a u.i.link loop to be
created, resulting in _bfd_generic_link_add_one_symbol never
returning.  Fix that.  Note that the MIND case handles two types of
redefinition.  For a new indirect symbol we'll have string non-NULL.
For a new def, string will be NULL.  So moving the string comparison
earlier would work.  However, we've already looked up inh in the first
case so can dispense with name comparisons.  Either way, for a new def
we'll get to the defweak test and possibly cycle.  Which is what we
want here.

PR 31615
PR 26978
* linker.c (_bfd_generic_link_add_one_symbol ): Test for
exactly matching indirect symbols before cycling on a defweak.

(cherry picked from commit 248b6326a49ed49e2f627d3bddbac514a074bac0)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/26978] Inconsistency for defined foo@v1 and foo@@v1

2024-04-08 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=26978

--- Comment #12 from Sourceware Commits  ---
The binutils-2_42-branch branch has been updated by Alan Modra
:

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

commit 6224493e457e72b11818c87cdc112bdb0fee5f81
Author: Alan Modra 
Date:   Mon Apr 8 08:16:20 2024 +0930

Re: PR26978, Inconsistency for strong foo@v1 and weak foo@@v1

Commit 726d7d1ecf opened a hole that allowed a u.i.link loop to be
created, resulting in _bfd_generic_link_add_one_symbol never
returning.  Fix that.  Note that the MIND case handles two types of
redefinition.  For a new indirect symbol we'll have string non-NULL.
For a new def, string will be NULL.  So moving the string comparison
earlier would work.  However, we've already looked up inh in the first
case so can dispense with name comparisons.  Either way, for a new def
we'll get to the defweak test and possibly cycle.  Which is what we
want here.

PR 31615
PR 26978
* linker.c (_bfd_generic_link_add_one_symbol ): Test for
exactly matching indirect symbols before cycling on a defweak.

(cherry picked from commit 248b6326a49ed49e2f627d3bddbac514a074bac0)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/31615] Hang when linking vorbis-tools

2024-04-08 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=31615

--- Comment #16 from Sourceware Commits  ---
The master branch has been updated by H.J. Lu :

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

commit d05e1a4a6d438c11af5a2b9b0ac88a74727b5f0f
Author: H.J. Lu 
Date:   Sun Apr 7 19:52:49 2024 -0700

ld: Add PR ld/31615 tests

PR ld/31615
* testsuite/ld-plugin/lto.exp: Run ld/31615 tests.
* testsuite/ld-plugin/pr31615.ver: New file.
* testsuite/ld-plugin/pr31615a.c: Likewise.
* testsuite/ld-plugin/pr31615b.c: Likewise.
* testsuite/ld-plugin/pr31615c.c: Likewise.
* testsuite/ld-plugin/pr31615d.c: Likewise.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function

2024-04-08 Thread victorldn at sourceware dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=31595

--- Comment #3 from Victor Do Nascimento  ---
So a trivial reproducer for the reported issue would be attempting to
disassemble `.inst 0x9dc39839'.

Looking at `readelf -S ./libc.so.6', we see that the crash happens within the
.gnu.hash section of the elf file.  This, combined with the fact we used the -D
flag when disassembling leads me to the conclusion that we're trying to
disassemble non-instruction bytes, which due to ill-luck, look an awful lot
like a valid instruction.

Only problem is, it differs from the relevant valid instruction by a
combination of three bits which would encode an invalid operand qualifier. We
thus get far enough into the disassembly of those 32 bits that objdump doesn't
know it should display undef or similar.

This thus seems like a quality of implementation issue. Normal disassembly of
executable sections of code appear to be functioning correctly, but I guess a
rethink is needed in terms of how assertions are used in disassembly.

My impression is that their use in a context such as in the use of `objdump
--disassemble-all` ought be predicated on whether or not we're disassembling in
a strictly executable code-only section of the object file or not...

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function

2024-04-08 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=31595

--- Comment #4 from Nick Clifton  ---
(In reply to Victor Do Nascimento from comment #3)
Hi Victor,

> Looking at `readelf -S ./libc.so.6', we see that the crash happens within
> the .gnu.hash section of the elf file.  This, combined with the fact we used
> the -D flag when disassembling leads me to the conclusion that we're trying
> to disassemble non-instruction bytes, which due to ill-luck, look an awful
> lot like a valid instruction.

Ah - that makes sense.


> This thus seems like a quality of implementation issue. Normal disassembly
> of executable sections of code appear to be functioning correctly, but I
> guess a rethink is needed in terms of how assertions are used in disassembly.
> 
> My impression is that their use in a context such as in the use of `objdump
> --disassemble-all` ought be predicated on whether or not we're disassembling
> in a strictly executable code-only section of the object file or not...

In my opinion, the disassembler should never trigger an abort (or an
assertion), even if it is being asked to decode an illegal bit sequence. 
Instead it should just display the bits with an annotation that they are
illegal.  In fact when a user is disassembling with the -D/--disassemble-all it
should be clear that they expect illegal bit sequences to be encountered, and
objdump should really be able to cope.

(This also goes back to my long standing opinion that library functions should
never call abort.  Instead they should always report back to their caller that
they have encountered some kind of problem, and allow the caller to decide what
to do).

My suggestion is that you change get_sreg_qualifier_from_value() so that it
returns AARCH64_OPND_QLF_NIL if it encounters an error.  (Or maybe a new
aarch64_opnd_qualifier value such as AARCH64_OPND_QLF_ERR).  And then update
the callers of get_sreg_qualifier_from_value to take some kind of action if
this result is returned.  A bit if a hassle I know, but I think that it is the
right thing to do.

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function

2024-04-08 Thread victorldn at sourceware dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=31595

--- Comment #5 from Victor Do Nascimento  ---
(In reply to Nick Clifton from comment #4)
Hi Nick,

> In my opinion, the disassembler should never trigger an abort (or an
> assertion), even if it is being asked to decode an illegal bit sequence. 
> Instead it should just display the bits with an annotation that they are
> illegal.  In fact when a user is disassembling with the -D/--disassemble-all
> it should be clear that they expect illegal bit sequences to be encountered,
> and objdump should really be able to cope.

Agreed.

> (This also goes back to my long standing opinion that library functions
> should never call abort.  Instead they should always report back to their
> caller that they have encountered some kind of problem, and allow the caller
> to decide what to do).
> 
> My suggestion is that you change get_sreg_qualifier_from_value() so that it
> returns AARCH64_OPND_QLF_NIL if it encounters an error.  (Or maybe a new
> aarch64_opnd_qualifier value such as AARCH64_OPND_QLF_ERR).  And then update
> the callers of get_sreg_qualifier_from_value to take some kind of action if
> this result is returned.  A bit if a hassle I know, but I think that it is
> the right thing to do.

Thanks for the suggestion, it'll come in handy.  I do agree it's the right
course of action to take.

cheers,
Victor

> Cheers
>   Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31527] gdb is not working for UNC path

2024-04-08 Thread simon.cook at embecosm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=31527

Simon Cook  changed:

   What|Removed |Added

 CC||simon.cook at embecosm dot com

--- Comment #6 from Simon Cook  ---
With the addition of this patch I haven't been able to build gas (at least on
Windows with the tools the msys2 project provides) due to:

  bfdio.c:(.text+0x169): undefined reference to `__imp_PathIsNetworkPathA'

I can work around this by setting LIBS to "-lshlwapi" based on the
documentation for that function at
https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-pathisnetworkpatha#requirements
but this seems non-ideal. Zhiqing, were you specifying any variables when
building with this change? (checking this isn't an issue just with my local
configuration)

As an aside, I think this might be a duplicate of Bug 29531, at the very least
I was working on a fix for this and the attached patch looks very similar to
what I had locally.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Issue 65819 in oss-fuzz: binutils:fuzz_disassemble: ASSERT: value <= 0x4 && aarch64_get_qualifier_standard_value (qualifier) == value

2024-04-08 Thread sheriffbot via monorail
Updates:
Labels: Deadline-Approaching

Comment #3 on issue 65819 by sheriffbot: binutils:fuzz_disassemble: ASSERT: 
value <= 0x4 && aarch64_get_qualifier_standard_value (qualifier) == value
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65819#c3

This bug is approaching its deadline for being fixed, and will be automatically 
derestricted within 7 days. If a fix is planned within 2 weeks after the 
deadline has passed, a grace extension can be granted.

- Your friendly Sheriffbot

-- 
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.

[Bug ld/31619] New: sh: fdpic linker breaks function pointer equality

2024-04-08 Thread bugdal at aerifal dot cx
https://sourceware.org/bugzilla/show_bug.cgi?id=31619

Bug ID: 31619
   Summary: sh: fdpic linker breaks function pointer equality
   Product: binutils
   Version: unspecified
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: bugdal at aerifal dot cx
  Target Milestone: ---

Created attachment 15453
  --> https://sourceware.org/bugzilla/attachment.cgi?id=15453&action=edit
proposed fix

The sh linker's handling of function descriptors seems to be based on a
mistaken idea that the linker can create "canonical" function descriptors for
dynamic symbols, which provide the definition of the public address of a
function. This is not what the ABI document specifies, and is simply not
possible, because the linker logic to create these function descriptors does
not preserve enough information for a dynamic linker to find the descriptors it
created and associate them with symbol names.

The issue came up as part of work on fdpic support for xtensa, where the same
confusion arose and it was noted that neither the WIP xtensa fdpic support, nor
the existing sh fdpic support, was doing the right (or even workable) thing.

On SH, the bug has two layers:

1. The SYMBOL_FUNCDESC_LOCAL macro wrongly checks whether the symbol is defined
locally, rather than whether it is externally visible. Whenever the symbol is
externally visible (outside the executable/DSO being created), the output must
preserve any R_SH_FUNCDESC relocation for the dynamic linker to see.

2. sh_elf_relocate_section wrongly "optimizes" FUNCDESC relocations that would
call locally, but which SYMBOL_FUNCDESC_LOCAL says can't have their addresses
defined locally, to be section-based rather than symbolic. This makes it so
that, even if the first issue is fixed, the output is still broken.

I have a proposed patch (attached) fixing both.

Note that, even with these, GCC will not do the right thing because it emits
R_SH_GOTOFFFUNCDESC relocations rather than R_SH_GOTFUNCDESC relocations when
the symbol is locally defined. This can be worked around for testing by passing
-fPIC to GCC so that it generates code suitable for use in a shared library. I
will be submitting a separate patch for GCC to fix the default main-program
behavior.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/31619] sh: fdpic linker breaks function pointer equality

2024-04-08 Thread sam at gentoo dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=31619

Sam James  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=114641

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/31617] VAX: Check immediates to match expected operand type

2024-04-08 Thread jbowen at infinitecactus dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=31617

Jason Bowen  changed:

   What|Removed |Added

 CC||jbowen at infinitecactus dot 
com

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug binutils/31527] gdb is not working for UNC path

2024-04-08 Thread zhiqxion at qti dot qualcomm.com
https://sourceware.org/bugzilla/show_bug.cgi?id=31527

--- Comment #7 from Zhiqing Xiong  ---
Hi Simon

I saw several bugs about gdb not support UNC path without comment, sorry, I
didn't know you are working on it. 

I have to upgrade gdb to latest version to support ZSTD compressed Dwarf.
I found this issue. and eagerly hope that the next version could fix this
issue.

  My environment is msys64 on Windows as well, could you check if shlwapi.h
header file exist. PathIsNetworkPathA definition was there.

  >> C:\msys64\mingw64\include\shlwapi.h 



Install necessary packages on msys64.

  pacman -Syuu
  pacman -S diffutils make texinfo libiconv dejagnu bison git
  pacman -S mingw-w64-x86_64-toolchain

-- 
You are receiving this mail because:
You are on the CC list for the bug.