[Bug gold/30794] New: PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097

2023-08-24 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30794

Bug ID: 30794
   Summary: PowerPC port of gold fails with:  internal error in
add_output_section_to_load, at gold/output.cc:4097
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: gold
  Assignee: ccoutant at gmail dot com
  Reporter: nickc at redhat dot com
CC: ian at airs dot com
  Target Milestone: ---

For the PowerPC port of gold:

  % gold/ld-new -m elf32ppc -shared /dev/null -o test
  gold/ld-new: error: /dev/null: file is empty
  gold/ld-new: internal error in add_output_section_to_load, at
gold/output.cc:4097

Note - the input file does not appear to be relevant.  This example uses
/dev/null, but the same bug has been reported with other, non-empty input
files:

  https://bugzilla.redhat.com/show_bug.cgi?id=2234396

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


[Bug gold/30794] PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097

2023-08-24 Thread tuliom at ascii dot art.br
https://sourceware.org/bugzilla/show_bug.cgi?id=30794

Tulio Magno Quites Machado Filho  changed:

   What|Removed |Added

 CC||tuliom at ascii dot art.br

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


[Bug gold/30794] PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097

2023-08-24 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30794

Alan Modra  changed:

   What|Removed |Added

   Assignee|ccoutant at gmail dot com  |amodra at gmail dot com

--- Comment #1 from Alan Modra  ---
Caused by commit 5a97377e5513, specifically this code added to
Target_powerpc::do_relax
+  if (parameters->options().output_is_position_independent())
+   this->rela_dyn_size_
+ = this->rela_dyn_section(layout)->current_data_size();

The problem here is that if .rela.dyn isn't already created then the call to
rela_dyn_section creates is, and as this comment says
  // Annoyingly, we need to make these sections now whether or
  // not we need them.  If we delay until do_relax then we
  // need to mess with the relaxation machinery checkpointing.

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


[Bug gold/30794] PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097

2023-08-24 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=30794

--- Comment #2 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Alan Modra :

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

commit d537f77ef3b18a5fbfd598643aaad957652e9608
Author: Alan Modra 
Date:   Fri Aug 25 09:12:18 2023 +0930

PR30794, PowerPC gold: internal error in add_output_section_to_load

Caused by commit 5a97377e5513, specifically this code added to
Target_powerpc::do_relax
+  if (parameters->options().output_is_position_independent())
+   this->rela_dyn_size_
+ = this->rela_dyn_section(layout)->current_data_size();

The problem here is that if .rela.dyn isn't already created then the
call to rela_dyn_section creates it, and as this comment in
Target_powerpc::do_finalize_sections says:
  // Annoyingly, we need to make these sections now whether or
  // not we need them.  If we delay until do_relax then we
  // need to mess with the relaxation machinery checkpointing.
We can't be creating sections in do_relax.

PR 30794
* powerpc.cc (Target_powerpc::do_relax): Only set rela_dyn_size_
for size == 64, and assert that rela_dyn_ already exists.
Tidy code setting plt_thread_safe, which also only needs to be
set when size == 64 for ELFv1.

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


[Bug gold/30794] PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097

2023-08-24 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=30794

--- Comment #3 from cvs-commit at gcc dot gnu.org  ---
The binutils-2_41-branch branch has been updated by Alan Modra
:

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

commit 60834ae1eb7b4f87598cfa79abdc72221415ac9e
Author: Alan Modra 
Date:   Fri Aug 25 09:12:18 2023 +0930

PR30794, PowerPC gold: internal error in add_output_section_to_load

Caused by commit 5a97377e5513, specifically this code added to
Target_powerpc::do_relax
+  if (parameters->options().output_is_position_independent())
+   this->rela_dyn_size_
+ = this->rela_dyn_section(layout)->current_data_size();

The problem here is that if .rela.dyn isn't already created then the
call to rela_dyn_section creates it, and as this comment in
Target_powerpc::do_finalize_sections says:
  // Annoyingly, we need to make these sections now whether or
  // not we need them.  If we delay until do_relax then we
  // need to mess with the relaxation machinery checkpointing.
We can't be creating sections in do_relax.

PR 30794
* powerpc.cc (Target_powerpc::do_relax): Only set rela_dyn_size_
for size == 64, and assert that rela_dyn_ already exists.
Tidy code setting plt_thread_safe, which also only needs to be
set when size == 64 for ELFv1.

(cherry picked from commit d537f77ef3b18a5fbfd598643aaad957652e9608)

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


[Bug gold/30794] PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097

2023-08-24 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30794

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Alan Modra  ---
Fixed.

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


[Bug gprofng/30779] gprofng: fails to build with musl-1.2.4 (gprofng/src/Data_window.h:56:3: error: 'off64_t' does not name a type; did you mean 'off_t'?)

2023-08-24 Thread vladimir.mezentsev at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30779

--- Comment #2 from Vladimir Mezentsev  
---
I don't use musl.
But I fixed couple bugs in gprofng to build on x86_64-pc-linux-musl.
I did on my machine:
% wget
https://distfiles.adelielinux.org/adelie/1.0/iso/rc2/adelie-rootfs-mini-x86_64-1.0-rc2.txz
% sudo tar xf adelie-rootfs-mini-x86_64-1.0-rc2.txz
% sudo systemd-nspawn --directory=. -M mez_musl
Spawning container mez_musl on /data2/vmezents/musl.
Press ^] three times within 1s to kill container.
-sh: 0: can't access tty; job control turned off

/sbin/apk add bash && bash
/sbin/apk add build-tools m4 bison flex gmp-dev texinfo
cd /home && mkdir bld && cd bld
../binutils-gdb.git/configure --prefix=`pwd`/INSTALL  --enable-multilib
--disable-gdb --disable-gdbsupport --disable-gdbserver

I fixed the compiler errors (open64, fgetpo64 and fsetpos64 are redefined) in
gprofng.
But I don't see errors about off64_t or ino64_t.

I use this system:
% uname -a
Linux mez_musl 5.4.17-2136.318.7.1.el8uek.x86_64 #2 SMP Thu Apr 13 17:33:39 PDT
2023 x86_64 GNU/Linux


My questions are:
 How can I simply use/download musl-1.2.4 ?
 Is the bug on Arm or on Intel ?

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