[Bug gprofng/30006] Failure to build binutils-2.40 on i686

2023-01-17 Thread satadru at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30006

--- Comment #4 from Satadru Pramanik  ---
Following the build failure with make -j 1:

make[5]: Entering directory
'/usr/local/tmp/crew/binutils.20230117084748.dir/binutils-2.40/build/gprofng/libcollector'
/bin/bash ./libtool  --tag=CC   --mode=link i686-cros-linux-gnu-gcc -Wall
-Wno-nonnull-compare -O2 -pipe -ffat-lto-objects -fPIC  -fuse-ld=mold  -flto   
 -module -avoid-version
-Wl,--version-script,../../../gprofng/libcollector/mapfile.intel-Linux
-Wl,--no-as-needed -Wl,-lrt -Wl,-ldl -flto  -o libgp-collector.la -rpath
/usr/local/lib/gprofng libgp_collector_la-gethrtime.lo
libgp_collector_la-dispatcher.lo libgp_collector_la-iolib.lo
libgp_collector_la-mmaptrace.lo libgp_collector_la-memmgr.lo
libgp_collector_la-tsd.lo libgp_collector_la-profile.lo
libgp_collector_la-envmgmt.lo libgp_collector_la-linetrace.lo
libgp_collector_la-libcol_hwcdrv.lo libgp_collector_la-libcol_hwcfuncs.lo
libgp_collector_la-libcol-i386-dis.lo libgp_collector_la-hwprofile.lo
libgp_collector_la-jprofile.lo libgp_collector_la-unwind.lo
libgp_collector_la-libcol_util.lo libgp_collector_la-collector.lo
libtool: link: i686-cros-linux-gnu-gcc -shared  -fPIC -DPIC 
.libs/libgp_collector_la-gethrtime.o .libs/libgp_collector_la-dispatcher.o
.libs/libgp_collector_la-iolib.o .libs/libgp_collector_la-mmaptrace.o
.libs/libgp_collector_la-memmgr.o .libs/libgp_collector_la-tsd.o
.libs/libgp_collector_la-profile.o .libs/libgp_collector_la-envmgmt.o
.libs/libgp_collector_la-linetrace.o .libs/libgp_collector_la-libcol_hwcdrv.o
.libs/libgp_collector_la-libcol_hwcfuncs.o
.libs/libgp_collector_la-libcol-i386-dis.o .libs/libgp_collector_la-hwprofile.o
.libs/libgp_collector_la-jprofile.o .libs/libgp_collector_la-unwind.o
.libs/libgp_collector_la-libcol_util.o .libs/libgp_collector_la-collector.o   
-Wl,--version-script -Wl,../../../gprofng/libcollector/mapfile.intel-Linux
-Wl,--no-as-needed -Wl,-lrt -Wl,-ldl   -Wl,-soname -Wl,libgp-collector.so -o
.libs/libgp-collector.so
/usr/local/bin/ld: warning: using 'GLIBC_2.0' as version for 'dlopen' which is
also named in version 'GLIBC_2.1' in script
lto-wrapper: warning: using serial compilation of 3 LTRANS jobs
lto-wrapper: note: see the '-flto' option documentation for more information
/usr/local/bin/ld: warning: using 'GLIBC_2.0' as version for 'dlopen' which is
also named in version 'GLIBC_2.1' in script
/usr/local/bin/ld: error: /usr/local/tmp/ccDqCxMq.ltrans0.ltrans.o: multiple
definition of 'dlopen'
/usr/local/bin/ld: /usr/local/tmp/ccDqCxMq.ltrans0.ltrans.o: previous
definition here
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:568: libgp-collector.la] Error 1
make[5]: Leaving directory
'/usr/local/tmp/crew/binutils.20230117084748.dir/binutils-2.40/build/gprofng/libcollector'
make[4]: *** [Makefile:479: all] Error 2
make[4]: Leaving directory
'/usr/local/tmp/crew/binutils.20230117084748.dir/binutils-2.40/build/gprofng/libcollector'
make[3]: *** [Makefile:472: all-recursive] Error 1
make[3]: Leaving directory
'/usr/local/tmp/crew/binutils.20230117084748.dir/binutils-2.40/build/gprofng'
make[2]: *** [Makefile:404: all] Error 2
make[2]: Leaving directory
'/usr/local/tmp/crew/binutils.20230117084748.dir/binutils-2.40/build/gprofng'
make[1]: *** [Makefile:7774: all-gprofng] Error 2
make[1]: Leaving directory
'/usr/local/tmp/crew/binutils.20230117084748.dir/binutils-2.40/build'
make: *** [Makefile:1005: all] Error 2
There was a build error.

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


[Bug gprofng/30006] Failure to build binutils-2.40 on i686

2023-01-17 Thread satadru at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30006

--- Comment #5 from Satadru Pramanik  ---
(This system uses Glibc 2.23.)

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


[Bug gprofng/29987] bfd/archive.c:1447: undefined reference to `filename_ncmp'

2023-01-17 Thread jbg...@lug-owl.de
https://sourceware.org/bugzilla/show_bug.cgi?id=29987

Jan-Benedict Glaw  changed:

   What|Removed |Added

 CC||jbg...@lug-owl.de

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


[Bug gprofng/29987] bfd/archive.c:1447: undefined reference to `filename_ncmp'

2023-01-17 Thread jbg...@lug-owl.de
https://sourceware.org/bugzilla/show_bug.cgi?id=29987

--- Comment #5 from Jan-Benedict Glaw  ---
I do regular builds (own build strategy and a hacked build-many-glibcs.py to
allow for HEAD versions) and the later started to fail since this commit:

/bin/bash ../libtool  --tag=CXX   --mode=link g++ -Wall -pthread -Wno-switch -g
-O2   -o gp-archive gp-archive.o ArchiveExp.o libgprofng.la  -L../../zlib
-lz 
libtool: link: g++ -Wall -pthread -Wno-switch -g -O2 -o gp-archive gp-archive.o
ArchiveExp.o  ./.libs/libgprofng.a
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/opcodes/.libs/libopcodes.a
-lpthread -ldl
-L/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/zlib
-lz -pthread
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/opcodes/.libs/libopcodes.a(i386-dis.o):
warning: relocation against `_sch_istable' in read-only section `.text'
/usr/bin/ld: ./.libs/libgprofng.a(Elf.o): in function `Elf::elf_init()':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Elf.cc:142:
undefined reference to `bfd_init'
/usr/bin/ld: ./.libs/libgprofng.a(Elf.o): in function `Elf::~Elf()':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Elf.cc:274:
undefined reference to `bfd_close'
/usr/bin/ld: ./.libs/libgprofng.a(Elf.o): in function `Elf::Elf(char*)':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Elf.cc:159:
undefined reference to `bfd_openr'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Elf.cc:165:
undefined reference to `bfd_check_format'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Elf.cc:175:
undefined reference to `bfd_close'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Elf.cc:167:
undefined reference to `bfd_close'
/usr/bin/ld: ./.libs/libgprofng.a(Function.o): in function
`Function::set_name(char*)':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/Function.cc:218:
undefined reference to `cplus_demangle'
/usr/bin/ld: ./.libs/libgprofng.a(CompCom.o): in function
`CompComment::get_demangle_name(char*)':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/CompCom.cc:109:
undefined reference to `cplus_demangle'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/CompCom.cc:109:
undefined reference to `cplus_demangle'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/CompCom.cc:109:
undefined reference to `cplus_demangle'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/CompCom.cc:109:
undefined reference to `cplus_demangle'
/usr/bin/ld: ./.libs/libgprofng.a(dbe_collctrl.o): in function
`Coll_Ctrl::find_sig(char const*)':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/gprofng/src/collctrl.cc:2345:
undefined reference to `strtosigno'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/opcodes/.libs/libopcodes.a(i386-dis.o):
in function `i386_dis_printf':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/i386-dis.c:9615:
undefined reference to `_sch_istable'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/opcodes/.libs/libopcodes.a(i386-dis.o):
in function `putop':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/i386-dis.c:10645:
undefined reference to `_sch_istable'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/i386-dis.c:10778:
undefined reference to `_sch_istable'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/opcodes/.libs/libopcodes.a(disassemble.o):
in function `remove_whitespace_and_extra_commas':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/disassemble.c:821:
undefined reference to `_sch_istable'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/disassemble.c:829:
undefined reference to `_sch_istable'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/opcodes/.libs/libopcodes.a(disassemble.o):
in function `opcodes_assert':
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/disassemble.c:876:
undefined reference to `_bfd_error_handler'
/usr/bin/ld:
/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/src/binutils/opcodes/disassemble.c:877:
undefined reference to `_bfd_error_handler'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[6]: *** [Makefile:724: gp-archive] Error 1
make[6]: Leaving directory
'/var/lib/laminar/run/glibcbot-x86_64-linux-gnu/5/build/compilers/x86_64-linux-gnu/binutils/gprofng/sr

[Bug gprofng/29987] bfd/archive.c:1447: undefined reference to `filename_ncmp'

2023-01-17 Thread jbg...@lug-owl.de
https://sourceware.org/bugzilla/show_bug.cgi?id=29987

--- Comment #6 from Jan-Benedict Glaw  ---
Just ftr: The build-many-glibcs.py script does the equivalent of:

/var/cache/git/binutils-gdb/configure   '--prefix=/tmp/b/i'
\
'--build=x86_64-pc-linux-gnu'  
\
'--host=x86_64-pc-linux-gnu'   
\
'--target=x86_64-glibc-linux-gnu'  
\
'--with-sysroot=/tmp/b/i/sysroot'  
\
--disable-gdb  
\
--disable-gdbserver
\
--disable-libdecnumber 
\
--disable-readline 
\
--disable-sim

make

(Pathes shortened here, but that's a working example.)

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


[Bug ld/13671] gld creates i386 relocations not supported by Solaris ld.so.1

2023-01-17 Thread ro at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=13671

Rainer Orth  changed:

   What|Removed |Added

URL||https://sourceware.org/pipe
   ||rmail/binutils/2023-January
   ||/125706.html

--- Comment #32 from Rainer Orth  ---
(In reply to H.J. Lu from comment #31)
> (In reply to Rainer Orth from comment #29)
> > Created attachment 14590 [details]
> > Augmented^2 patch
> 
> LGTM.  Please send it to the binutils mailing list.  Thanks.

Done now.  Thanks a lot for the fix and your patience.

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


[Bug ld/29998] ld terminated with signal 11 [Segmentation fault] under mingw with LTO

2023-01-17 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=29998

--- Comment #6 from Nick Clifton  ---
(In reply to Jan Janssen from comment #5)
Hi Jan,

  Hmm, I am beginning to suspect the libtlo_plugin (from gcc, not the binutils)
as the cause of this problem...

> /usr/lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld
> -plugin /usr/lib/gcc/x86_64-w64-mingw32/12.2.0/liblto_plugin.so
> -plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/lto-wrapper
> -plugin-opt=-fresolution=/tmp/ccJFF0sj.res -m i386pep -Bdynamic -o test.exe
> -L/usr/lib/gcc/x86_64-w64-mingw32/12.2.0
> -L/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/.
> ./lib
> -L/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib
> test2.obj libtest.a -lgcc
> collect2: fatal error: ld terminated with signal 11 [Segmentation fault],
> core dumped

I am stuck here because I do not have
/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/lto-wrapper installed (and just using a
dummy empty file does not work).

As a quick test, if you have both gcc 12 and gcc 10 installed, does editing
that command line above and using the gcc 10 plugin and/or gcc 10 lto-wrapper
script 
make the link work ?

Also - does adding "-plugin-opt=-debug" to the command line produce any more
helpful output ?

Cheers
  Nick

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


[Bug ld/30004] LD --exclude-all-symbols generates export table

2023-01-17 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30004

Nick Clifton  changed:

   What|Removed |Added

 CC||nickc at redhat dot com
   Assignee|unassigned at sourceware dot org   |nickc at redhat dot com
 Ever confirmed|0   |1
   Last reconfirmed||2023-01-17
 Status|UNCONFIRMED |ASSIGNED

--- Comment #1 from Nick Clifton  ---
Created attachment 14604
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14604&action=edit
Proposed patch

Hi Pali,

  Please could you try out this patch and let me know if it works for you ?

Cheers
  Nick

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


[Bug binutils/30005] __declspec(code_seg("segname")) does not work

2023-01-17 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30005

Nick Clifton  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|UNCONFIRMED |RESOLVED
 CC||nickc at redhat dot com

--- Comment #1 from Nick Clifton  ---
Hi Pali,

  Sorry, but you need to refile this bug with gcc, rather than us, as it is
  gcc that interprets the __declspec() directives and converts them into 
  assembler commands.

Cheers
  Nick

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


[Bug libctf/30013] New: [2.40 regression] Assertion failed: one_type != two_type, file libctf/ctf-dedup.c, line 2342, function sort_output_mapping

2023-01-17 Thread ro at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=30013

Bug ID: 30013
   Summary: [2.40 regression] Assertion failed: one_type !=
two_type, file libctf/ctf-dedup.c, line 2342, function
sort_output_mapping
   Product: binutils
   Version: 2.40
Status: NEW
  Severity: normal
  Priority: P2
 Component: libctf
  Assignee: unassigned at sourceware dot org
  Reporter: ro at gcc dot gnu.org
CC: nick.alcock at oracle dot com
  Target Milestone: ---

When I recently upgraded my self-compiled version used for gcc bootstraps from
2.39 to 2.40, a couple of testsuite regressions occured:

+FAIL: gcc.dg/debug/20020220-1.c -gctf (test for excess errors)

Excess errors:
Assertion failed: one_type != two_type, file
/vol/src/gnu/binutils/binutils-2.40/libctf/ctf-dedup.c, line 2342, function
sort_output_mapping
collect2: fatal error: ld terminated with signal 6 [Abort]

+FAIL: gcc.dg/debug/20020220-1.c -gctf execution test
+FAIL: gcc.dg/debug/20050907-1.c -gctf (test for excess errors)
+FAIL: gcc.dg/debug/pr36690-3.c -gctf (test for excess errors)
+FAIL: gcc.dg/debug/pr36690-3.c -gctf execution test
+FAIL: gcc.dg/debug/pr37616.c -gctf (test for excess errors)
+FAIL: gcc.dg/debug/pr37616.c -gctf execution test
+FAIL: gcc.dg/debug/pr41893-1.c -gctf (test for excess errors)
+FAIL: gcc.dg/debug/pr49032.c -gctf (test for excess errors)
+FAIL: gcc.dg/debug/pr65771.c -gctf (test for excess errors)

They happen on Solaris/sparc and x86, 32 and 64-bit.

It turns out that the assertion failure occurs when qsort_r is missing from
libc
(as on Solaris 11.3, unlike Solaris 11.4).

However, there's nothing Solaris-specific here: if I disable qsort_r in
config.status on Linux/i686

--- config.status.dist  2023-01-17 16:51:27.241499000 +0100
+++ config.status   2023-01-17 16:51:42.380104000 +0100
@@ -820,2 +820,2 @@
-S["NEED_CTF_QSORT_R_FALSE"]=""
-S["NEED_CTF_QSORT_R_TRUE"]="#"
+S["NEED_CTF_QSORT_R_FALSE"]="#"
+S["NEED_CTF_QSORT_R_TRUE"]=""
@@ -1050,2 +1049,0 @@
-D["HAVE_QSORT_R"]=" 1"
-D["HAVE_QSORT_R_ARG_LAST"]=" 1"

(there sems to be no way to do this otherwise, e.g. by presetting autoconf
cache variables), I get exactly the same failure, so there seems to be
something
wrong with ctf-qsort_r.c.

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


[Bug ld/29998] ld terminated with signal 11 [Segmentation fault] under mingw with LTO

2023-01-17 Thread medhefgo at web dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=29998

--- Comment #7 from Jan Janssen  ---
> I am stuck here because I do not have 
> /usr/lib/gcc/x86_64-w64-mingw32/12.2.0/lto-wrapper installed (and just using 
> a dummy empty file does not work).

It's as easy as:
$ deboostrap --include=gcc-12,gcc-10,gcc-mingw-w64-x86-64 sid debian-unstable
$ systemd-nspawn -M debian-unstable
To get the same env as me when I tried reproducing on a different distro. Also,
on debian the wrapper is located in
/usr/lib/gcc/x86_64-w64-mingw32/12-win32/lto-wrapper

> As a quick test, if you have both gcc 12 and gcc 10 installed, does editing 
> that command line above and using the gcc 10 plugin and/or gcc 10 lto-wrapper 
> script make the link work ?

This is rather tricky as there is only one version of mingw-gcc in distros so I
used the regular gcc (if it helps)…

$ COLLECT_GCC=x86_64-w64-mingw32-gcc COLLECT_GCC_OPTIONS="-flto=auto -nostdlib
-o test.exe -mtune=generic -march=x86-64 -dumpdir test."
/usr/bin/x86_64-w64-mingw32-ld -plugin
/usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccl4X7GI.res -m i386pep -Bdynamic -o test.exe
-L/usr/lib/gcc/x86_64-w64-mingw32/12-win32
-L/usr/lib/gcc/x86_64-w64-mingw32/12-win32/../../../../x86_64-w64-mingw32/lib
test2.obj libtest.a -lgcc
Segmentation fault (core dumped)

> Also - does adding "-plugin-opt=-debug" to the command line produce any more 
> helpful output ?

/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/lto-wrapper
-fresolution=/tmp/cc9yab77.res -flinker-output=exec test2.obj test1.obj 
/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/lto-wrapper @test.lto_wrapper_args

(Same output with successful mingw-gcc10)

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


[Bug ld/29998] ld terminated with signal 11 [Segmentation fault] under mingw with LTO

2023-01-17 Thread medhefgo at web dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=29998

--- Comment #8 from Jan Janssen  ---
I rebuilt mingw-w64-binutils with debug info and managed to get a backtrace
(this if on arch):

Thread 1 (Thread 0x77db1740 (LWP 84627) "ld"):
#0  generate_reloc (abfd=0x557f8a40, info=0x557bbe20 ) at
/usr/src/debug/mingw-w64-binutils/binutils-2.38/ld/pe-dll.c:1538
sec_vma = 5368717312
symbols = 0x5585f940
relocs = 0x55803ad0
relsize = 8
nrelocs = 0
reloc_data = 0x5586dc50
total_relocs = 0
i = 0
sec_page = 18446744073709551615
page_ptr = 93824995009440
page_count = 93824995010968
bi = 3
b = 0x55853c10
s = 0x55861e08
#1  0x555d2c90 in pep_exe_fill_sections (abfd=0x557f8a40,
info=0x557bbe20 ) at
/usr/src/debug/mingw-w64-binutils/binutils-2.38/ld/pe-dll.c:3640
No locals.
#2  0x555d2bd6 in pep_dll_fill_sections (abfd=0x557f8a40,
info=0x557bbe20 ) at
/usr/src/debug/mingw-w64-binutils/binutils-2.38/ld/pe-dll.c:3621
No locals.
#3  0x555c0d4c in gld_i386pep_finish () at ei386pep.c:1773
No locals.
#4  0x555b50ed in ldemul_finish () at
/usr/src/debug/mingw-w64-binutils/binutils-2.38/ld/ldemul.c:101
No locals.
#5  0x555a98b9 in lang_process () at
/usr/src/debug/mingw-w64-binutils/binutils-2.38/ld/ldlang.c:8295
No locals.
#6  0x555ae1cf in main (argc=17, argv=0x7fffdf88) at
/usr/src/debug/mingw-w64-binutils/binutils-2.38/ld/ldmain.c:497
emulation = 0x7fffe4a3 "i386pep"
start_time = 13700

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


[Bug libsframe/30014] New: FTBFS: install-strip fails because bfdlib relinks and fails to find libsframe

2023-01-17 Thread thiago at kde dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=30014

Bug ID: 30014
   Summary: FTBFS: install-strip fails because bfdlib relinks and
fails to find libsframe
   Product: binutils
   Version: 2.40
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libsframe
  Assignee: indu.bhagat at oracle dot com
  Reporter: thiago at kde dot org
  Target Milestone: ---

# make install-strip-host
/bin/sh ./mkinstalldirs /usr/local /usr/local
make[1]: Entering directory `/build/binutils-2.40/bfd'
if test -z 'strip'; then \
  make  INSTALL_PROGRAM="/bin/sh /build/binutils-2.40/install-sh -c -s" \
install_sh_PROGRAM="/bin/sh /build/binutils-2.40/install-sh -c -s"
INSTALL_STRIP_FLAG=-s \
  install; \
else \
  make  INSTALL_PROGRAM="/bin/sh /build/binutils-2.40/install-sh -c -s" \
install_sh_PROGRAM="/bin/sh /build/binutils-2.40/install-sh -c -s"
INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='strip'" install; \
fi
make[2]: Entering directory `/build/binutils-2.40/bfd'
make  install-recursive
make[3]: Entering directory `/build/binutils-2.40/bfd'
Making install in po
make[4]: Entering directory `/build/binutils-2.40/bfd/po'
if test -r .././../mkinstalldirs; then \
  .././../mkinstalldirs /usr/local/share; \
else \
  ../mkinstalldirs /usr/local/share; \
fi
[...]
make[5]: Entering directory `/build/binutils-2.40/bfd'
make[5]: Nothing to be done for `install-exec-am'.
 /usr/bin/mkdir -p '/usr/include'
 /usr/bin/install -c -m 644 bfd.h ./../include/ansidecl.h ./../include/symcat.h
./../include/diagnostics.h ./../include/bfdlink.h ./../include/plugin-api.h
'/usr/include'
 /usr/bin/mkdir -p '/usr/local/lib'
 /bin/sh ./libtool   --mode=install /usr/bin/install -c -s  libbfd.la
'/usr/local/lib'
libtool: install: warning: relinking `libbfd.la'
libtool: install: (cd /build/binutils-2.40/bfd; /bin/sh
/build/binutils-2.40/bfd/libtool  --silent --tag CC --mode=relink gcc
-std=gnu99 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2
-release 2.40 -o libbfd.la -rpath /usr/local/lib archive.lo archures.lo bfd.lo
bfdio.lo bfdwin.lo cache.lo coff-bfd.lo compress.lo corefile.lo
elf-properties.lo format.lo hash.lo init.lo libbfd.lo linker.lo merge.lo
opncls.lo reloc.lo section.lo simple.lo stab-syms.lo stabs.lo syms.lo
targets.lo binary.lo ihex.lo srec.lo tekhex.lo verilog.lo elf64-x86-64.lo
elfxx-x86.lo elf-ifunc.lo elf-vxworks.lo elf64.lo elf.lo elflink.lo
elf-attrs.lo elf-strtab.lo elf-eh-frame.lo elf-sframe.lo dwarf1.lo dwarf2.lo
elf32-i386.lo elf32.lo pei-i386.lo peigen.lo cofflink.lo coffgen.lo
pe-x86_64.lo pex64igen.lo pei-x86_64.lo elf64-gen.lo elf32-gen.lo plugin.lo
cpu-i386.lo cpu-iamcu.lo archive64.lo
-L/build/binutils-2.40/bfd/../libiberty/pic -liberty
-Wl,-lc,--as-needed,-lm,--no-as-needed -ldl -lz ../libsframe/libsframe.la -ldl
)
/usr/bin/ld: cannot find -lsframe
collect2: error: ld returned 1 exit status
libtool: install: error: relink `libbfd.la' with the above command before
installing it
make[5]: *** [install-bfdlibLTLIBRARIES] Error 1
make[5]: Leaving directory `/build/binutils-2.40/bfd'
make[4]: *** [install-am] Error 2
make[4]: Leaving directory `/build/binutils-2.40/bfd'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/build/binutils-2.40/bfd'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/build/binutils-2.40/bfd'
make[1]: *** [install-strip] Error 2
make[1]: Leaving directory `/build/binutils-2.40/bfd'
make: *** [install-strip-bfd] Error 2

I don't know why libtool wants to relink and that's probably the root of the
problem. I don't know if it relinked in 2.39 too, but the problem is that now
it attempt to relink and fails.

Do note that the command-line has ../libsframe/libsframe.la and that file does
exist, and so do the libraries inside libsframe/.libs. However, libsframe
hasn't been installed to /usr/local yet. From the Makefile:

.PHONY: install-strip-host
install-strip-host:  \
maybe-install-strip-bfd \
[... everything else ...]
maybe-install-strip-libsframe

I don't know if the order matters and, if it does, why the build system didn't
put it in the right order in the first place.

Configure:
./configure \   
--includedir=/usr/include \ 
--with-lib-path=/usr/lib64:/usr/lib \   
--enable-shared --disable-static \  
--target=x86_64-generic-linux \ 
--build=x86_64-generic-linux \  
--enable-targets=x86_64-linux \ 
--enable-deterministic-archives \   
--enable-lto \  

[Bug binutils/30016] New: strip/objcopy should do atomic renames

2023-01-17 Thread thiago at kde dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=30016

Bug ID: 30016
   Summary: strip/objcopy should do atomic renames
   Product: binutils
   Version: 2.40
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: thiago at kde dot org
  Target Milestone: ---

I noticed this while building binutils itself because, after ./binutils got
installed, the installed strip was in $PATH and that caused errors later on.

strace shows that strip/objcopy create a temporary file to write contents to,
but later truncate the target file and do a manual copy of everything:

$ strace strip toolname
newfstatat(AT_FDCWD, "toolname", {st_mode=S_IFREG|0755, st_size=1772072, ...},
0) = 0
openat(AT_FDCWD, "stA2UbOD", O_RDWR|O_CREAT|O_EXCL, 0600) = 3//
creates temporary file
dup(3)  = 4
newfstatat(AT_FDCWD, "toolname", {st_mode=S_IFREG|0755, st_size=1772072, ...},
0) = 0
openat(AT_FDCWD, "toolname", O_RDONLY) = 5   //
opens source file
fcntl(5, F_GETFD)   = 0
fcntl(5, F_SETFD, FD_CLOEXEC)   = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) = 0
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=27183920, ...}, AT_EMPTY_PATH)
= 0
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=27183920, ...}, AT_EMPTY_PATH)
= 0

[lots of read, lseek and stat]
mmap(NULL, 978944, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x55b46f311000
munmap(0x55b46f311000, 978944)  = 0
brk(0x55b470f37000) = 0x55b470f37000
[read,lseek and writes of different sizes here]
close(3)= 0

newfstatat(AT_FDCWD, "stA2UbOD", {st_mode=S_IFREG|0600, st_size=1772072, ...},
0) = 0  // stat() on the temporary file instead of fstat() on the still-open
file descriptor 4
umask(000)  = 022
umask(022)  = 000
chmod("stA2UbOD", 0711) = 0 // unnecessary chmod() on
the temporary file; fchmod() preferred

close(5)= 0
openat(AT_FDCWD, "toolname", O_WRONLY|O_TRUNC) = 3   // reopens the
output file, truncating
[read & write of the exact same size]
read(4, "", 8192)   = 0
fchmod(3, 0100755)  = 0
close(4)= 0
close(3)= 0
unlink("stA2UbOD")  = 0

The last block is wasteful and problematic. objcopy/strip should have simply
renamed the temporary file "stA2UbOD" to the target "toolname" instead of
copying 1.7 MB.

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


[Bug libsframe/30014] FTBFS: install-strip fails because bfdlib relinks and fails to find libsframe

2023-01-17 Thread indu.bhagat at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30014

--- Comment #1 from Indu Bhagat  ---
Created attachment 14605
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14605&action=edit
Proposed fix for pr 30014

Proposed fix. Will test this patch on my end.

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


[Bug libsframe/30014] FTBFS: install-strip fails because bfdlib relinks and fails to find libsframe

2023-01-17 Thread indu.bhagat at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=30014

--- Comment #2 from Indu Bhagat  ---
Thanks for reporting this issue and providing all the details. Very helpful.

The issue seems to be that the applicable dependency (install-strip-bfd:
maybe-install-strip-libsframe) was missing.

As for libtool relinking at install time, that's expected.  Similar is done for
libopcodes.la, libctf.la etc. at install time.  The relinking, as far as my
basic understanding of libtool goes, is done to ensure an updated rpath in the
installed libraries.

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


[Bug binutils/30016] strip/objcopy should do atomic renames

2023-01-17 Thread sch...@linux-m68k.org
https://sourceware.org/bugzilla/show_bug.cgi?id=30016

--- Comment #1 from Andreas Schwab  ---
This is deliberate.  A rename requires careful duplication of the attributes of
the target file, which is difficult to get right.  See PR27456.

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


[Bug binutils/30016] strip/objcopy should do atomic renames

2023-01-17 Thread thiago at kde dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=30016

--- Comment #2 from Thiago Macieira  ---
(In reply to Andreas Schwab from comment #1)
> This is deliberate.  A rename requires careful duplication of the attributes
> of the target file, which is difficult to get right.  See PR27456.

Are you sure of the number? That's a build failure on Windows.

Anyway, I understand some internal details of the file may depend on the file
name (on some architectures), but why can't the correct content be written to a
temporary file instead of the final one?

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


[Bug gprofng/29521] [docs] man pages are not in the release tarball

2023-01-17 Thread ruud.vanderpas at oracle dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=29521

--- Comment #3 from Ruud van der Pas  ---
Unfortunately we did not get to address this before 2.40 was released, but we
are actively looking into a solution.

We plan to either embed the man page texts in .texi files (or perhaps a single
file), or we see if help2man can be endorsed by binutils.

The latter will not be in time for 2.40 though and perhaps an interim approach
is needed for this situation.

Either way, we want to resolve this asap now.

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