[Bug binutils/24968] make objcopy use output ELF arch if -B not given

2019-11-19 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24968

Alan Modra  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2019-11-19
 CC||amodra at gmail dot com
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
Summary|objcopy: -B is not useful   |make objcopy use output ELF
   ||arch if -B not given
 Ever confirmed|0   |1

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


[Bug binutils/24968] make objcopy use output ELF arch if -B not given

2019-11-19 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24968

Alan Modra  changed:

   What|Removed |Added

 CC|amodra at gmail dot com|

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


[Bug binutils/24968] make objcopy use output ELF arch if -B not given

2019-11-19 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24968

--- Comment #1 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=6765ee1825d92d25d9b3f6260de3f8a2a27e4998

commit 6765ee1825d92d25d9b3f6260de3f8a2a27e4998
Author: Alan Modra 
Date:   Tue Nov 19 19:15:20 2019 +1030

PR24968, make objcopy use output ELF arch if -B not given

This should make objcopy -B redundant for the common case of producing
ELF output where the -O target defaults to the desired arch:mach.

PR 24968
* objcopy.c (copy_object): For ELF output and non-ELF input without
arch, take arch from output file if not given by -B.  Don't
bfd_get_arch_info when we already have iarch.

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


[Bug binutils/24968] make objcopy use output ELF arch if -B not given

2019-11-19 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24968

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |2.34

--- Comment #2 from Alan Modra  ---
Done

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


[Bug ld/24951] Thin archive doesn't work with compressed section

2019-11-19 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24951

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |2.33

--- Comment #2 from Alan Modra  ---
Fixed for 2.33

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


[Bug ld/25205] New: relocation truncated to fit: R_RISCV_JAL against undefined symbol `pthread_once'

2019-11-19 Thread sch...@linux-m68k.org
https://sourceware.org/bugzilla/show_bug.cgi?id=25205

Bug ID: 25205
   Summary: relocation truncated to fit: R_RISCV_JAL against
undefined symbol `pthread_once'
   Product: binutils
   Version: 2.33
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: sch...@linux-m68k.org
CC: wilson at gcc dot gnu.org
  Target Milestone: ---
Target: riscv64-*-*

When building llvm on riscv64 from current master I'm getting this error:

: &&
/home/abuild/rpmbuild/BUILD/llvm-project-10.0.0git.10074.g5edf964fccf/llvm/stage1/bin/clang++
 -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=0
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type  -fPIC -fvisibility-inlines-hidden
-Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual
-Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough
-Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor
-Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -O2
-g -DNDEBUG  -Wl,--as-needed -Wl,--build-id=sha1 -Wl,-allow-shlib-undefined  
-Wl,--export-dynamic 
-Wl,-rpath-link,/home/abuild/rpmbuild/BUILD/llvm-project-10.0.0git.10074.g5edf964fccf/llvm/build/./lib64
 -Wl,-O3 tools/opt/CMakeFiles/opt.dir/AnalysisWrappers.cpp.o
tools/opt/CMakeFiles/opt.dir/BreakpointPrinter.cpp.o
tools/opt/CMakeFiles/opt.dir/GraphPrinters.cpp.o
tools/opt/CMakeFiles/opt.dir/NewPMDriver.cpp.o
tools/opt/CMakeFiles/opt.dir/PassPrinters.cpp.o
tools/opt/CMakeFiles/opt.dir/PrintSCC.cpp.o
tools/opt/CMakeFiles/opt.dir/opt.cpp.o  -o bin/opt 
-Wl,-rpath,"\$ORIGIN/../lib64" -lpthread lib64/libPolly.a
lib64/libLLVM.so.10git lib64/libPollyISL.a && :
lib64/libPolly.a(ScopDetection.cpp.o): in function `__gthread_once(int*, void
(*)())':
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/riscv64-suse-linux/bits/gthr-default.h:700:(.text._ZN4llvm38initializeScopDetectionWrapperPassPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(ScopInfo.cpp.o): in function `__gthread_once(int*, void
(*)())':
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/riscv64-suse-linux/bits/gthr-default.h:700:(.text._ZN4llvm32initializeScopInfoRegionPassPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/riscv64-suse-linux/bits/gthr-default.h:700:(.text._ZN4llvm33initializeScopInfoWrapperPassPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(IslAst.cpp.o): in function `__gthread_once(int*, void (*)())':
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/riscv64-suse-linux/bits/gthr-default.h:700:(.text._ZN4llvm35initializeIslAstInfoWrapperPassPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(CodeGeneration.cpp.o): in function
`llvm::TrackingMDRef::untrack()':
/home/abuild/rpmbuild/BUILD/llvm-project-10.0.0git.10074.g5edf964fccf/llvm/build/../include/llvm/IR/TrackingMDRef.h:89:(.text._ZN4llvm28initializeCodeGenerationPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(JSONExporter.cpp.o): in function
`llvm::raw_ostream::operator<<(llvm::StringRef)':
/home/abuild/rpmbuild/BUILD/llvm-project-10.0.0git.10074.g5edf964fccf/llvm/build/../include/llvm/Support/raw_ostream.h:189:(.text._ZN4llvm26initializeJSONExporterPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(JSONExporter.cpp.o): in function
`__gnu_cxx::new_allocator::deallocate(char*, unsigned long)':
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/ext/new_allocator.h:128:(.text._ZN4llvm26initializeJSONImporterPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(PruneUnprofitable.cpp.o): in function `__gthread_once(int*,
void (*)())':
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/riscv64-suse-linux/bits/gthr-default.h:700:(.text._ZN4llvm31initializePruneUnprofitablePassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'
lib64/libPolly.a(CodegenCleanup.cpp.o): in function `__gthread_once(int*, void
(*)())':
/usr/lib64/gcc/riscv64-suse-linux/9/../../../../include/c++/9/riscv64-suse-linux/bits/gthr-default.h:700:(.text._ZN4llvm28initializeCodegenCleanupPassERNS_12PassRegistryE+0x5c):
relocation truncated to fit: R_RISCV_JAL against undefined symbol
`pthread_once'

That l

[Bug binutils/24499] [PATCH] objcopy: provide cache for gnu_debuglink's target CRC

2019-11-19 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24499

--- Comment #8 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=f2032b672ac5f0c570f3a6d263ce6b764e7dca93

commit f2032b672ac5f0c570f3a6d263ce6b764e7dca93
Author: Alan Modra 
Date:   Tue Nov 19 21:19:24 2019 +1030

PR24499, ignore --add-gnu-debuglink for archives

objcopy --add-gnu-debuglink=foo.a.dbg foo.a just doesn't make any
sense.  Who puts executables in archives?

PR 24499
* objcopy.c (copy_file): Ignore --add-gnu-debuglink for archives.

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


[Bug binutils/24499] [PATCH] objcopy: provide cache for gnu_debuglink's target CRC

2019-11-19 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24499

Alan Modra  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC|amodra at gmail dot com|
 Resolution|--- |FIXED
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com

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

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


[Bug ld/23825] Linker creates COPY relocs for reference to TLS symbols

2019-11-19 Thread bugdal at aerifal dot cx
https://sourceware.org/bugzilla/show_bug.cgi?id=23825

Rich Felker  changed:

   What|Removed |Added

 CC||bugdal at aerifal dot cx

--- Comment #7 from Rich Felker  ---
Please, just teach GCC not to do this! RISC-V has proper PC-relative addressing
and thus the GOT access for IE model is essentially free. There is no reason it
should be doing a hack with LE model that imposes a need for copy relocations,
doubles the size of shared-library TLS that gets referenced in the main
program, and (worst of all!) makes the size of TLS arrays/structures into ABI
due to the copy relocation.

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


[Bug ld/23825] Linker creates COPY relocs for reference to TLS symbols

2019-11-19 Thread bugdal at aerifal dot cx
https://sourceware.org/bugzilla/show_bug.cgi?id=23825

--- Comment #8 from Rich Felker  ---
To clarify what I mean about ABI and copy relocations, prior to RISC-V doing
this, there was no arch where it was unsafe to have extensible (existing part's
meaning remains same, new parts added to end) arrays or structs in shared
library TLS. This kind of thing is very useful for dispatch arrays, etc. Copy
relocations break that.

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


[Bug ld/23825] Linker creates COPY relocs for reference to TLS symbols

2019-11-19 Thread wilson at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23825

--- Comment #9 from Jim Wilson  ---
This is being discussed in
   https://github.com/riscv/riscv-elf-psabi-doc/issues/122
which is the proper place to discuss RISC-V ABI issues.

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


[Bug ld/25207] New: ld: support --image-base= for elf (and -Ttext-segment -z separate-code strangeness)

2019-11-19 Thread i at maskray dot me
https://sourceware.org/bugzilla/show_bug.cgi?id=25207

Bug ID: 25207
   Summary: ld: support --image-base= for elf (and -Ttext-segment
-z separate-code strangeness)
   Product: binutils
   Version: unspecified
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: i at maskray dot me
  Target Milestone: ---

% cat a.c
int main() {}

% gcc -fuse-ld=bfd a.c -Wl,-Ttext-segment,0x30 -z noseparate-code -o a;
readelf -Wl a
...
  Type   Offset   VirtAddr   PhysAddr   FileSiz  MemSiz
  Flg Align
  PHDR   0x40 0x00300040 0x00300040 0x0001f8
0x0001f8 R   0x8
  INTERP 0x000238 0x00300238 0x00300238 0x1c
0x1c R   0x1
  [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD   0x00 0x0030 0x0030 0x0007a8
0x0007a8 R E 0x1000
  LOAD   0x000e18 0x00301e18 0x00301e18 0x000210
0x000218 RW  0x1000
...

When -z separate-code is specified, there will be two R PT_LOAD. Notably,
-Ttext-segment specifies the address of the first R, instead of the text
segment (RX).
Or we may argue that the traditional "text segment" includes both the first R
and the RX...

% gcc -fuse-ld=bfd a.c -Wl,-Ttext-segment,0x30 -z separate-code -o a;
readelf -Wl a
...
  Type   Offset   VirtAddr   PhysAddr   FileSiz  MemSiz
  Flg Align
  PHDR   0x40 0x00300040 0x00300040 0x000268
0x000268 R   0x8
  INTERP 0x0002a8 0x003002a8 0x003002a8 0x1c
0x1c R   0x1
  [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD   0x00 0x0030 0x0030 0x000530
0x000530 R   0x1000
  LOAD   0x001000 0x00301000 0x00301000 0x00019d
0x00019d R E 0x1000
  LOAD   0x002000 0x00302000 0x00302000 0x000148
0x000148 R   0x1000
  LOAD   0x002e18 0x00303e18 0x00303e18 0x000210
0x000218 RW  0x1000
...

As a better name for specifying the base address, we can introduce a new elf
option --image-base=0x30 (it exists in pe). The LLVM linker lld has
supported --image-base since 2016-07-12 (https://reviews.llvm.org/D22116).

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


[Bug binutils/25120] Portability issues in binutils 2.33 due to libctf

2019-11-19 Thread mforney at mforney dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=25120

Michael Forney  changed:

   What|Removed |Added

 CC||mforney at mforney dot org

--- Comment #9 from Michael Forney  ---
Created attachment 12084
  --> https://sourceware.org/bugzilla/attachment.cgi?id=12084&action=edit
Patch fixing issue 2

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


[Bug binutils/25120] Portability issues in binutils 2.33 due to libctf

2019-11-19 Thread mforney at mforney dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=25120

--- Comment #10 from Michael Forney  ---
I ran into issues 1 (__thread) and 2 (__libctf_*_) when building
binutils-2.33.1 with my C compiler (https://git.sr.ht/~mcf/cproc).

I found this issue when I went to submit a patch for issue 2, so I attached the
patch here instead.

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


[Bug binutils/25120] Portability issues in binutils 2.33 due to libctf

2019-11-19 Thread mforney at mforney dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=25120

Michael Forney  changed:

   What|Removed |Added

  Attachment #12084|0   |1
is obsolete||

--- Comment #11 from Michael Forney  ---
Created attachment 12085
  --> https://sourceware.org/bugzilla/attachment.cgi?id=12085&action=edit
Patch fixing issue 2 (v2)

Whoops, my local change removing __thread snuck into this patch. Added a new
version which only adds the macro fallbacks.

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