[Bug ld/22832] 2.30 internal error, aborting at ../../bfd/elflink.c:9710 in elf_link_output_extsym

2018-02-12 Thread ebotcazou at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=22832

Eric Botcazou  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #5 from Eric Botcazou  ---
> Thus, when linking one of these object files, that object file's hash table
> never pulls in the definition of __tls_get_addr, and so when
> _bfd_sparc_elf_check_relocs is called for an R_SPARC_TLS_LDM_CALL, it looks
> up __tls_get_addr, doesn't find it, and so an entry is created, since TRUE
> is passed to bfd_link_hash_lookup for create, but this entry has type
> bfd_link_hash_new, and this never changes.
> 
> So it seems to me there are two issues here:
> 
> 1. LLVM should be emitting an entry for __tls_get_addr in its symbol table
> so it is made visible to the object file.
> 
> 2. ld should gracefully handle this case. If this case is an error, it
> should instead be passing FALSE for create to bfd_link_hash_lookup, and if
> the result is NULL, printing an error; otherwise, if this case should work,
> something needs to implicitly pull in the symbol (and in theory LLVM doesn't
> need to change, though in practice it's best to do so anyway for
> compatibility).

Thanks for debugging this.  The irony is that I put TRUE precisely because I
thought it would deal with such a case...  Given that Gold and ld agree, I
think that the error is indeed on the LLVM side but you're right that ld should
handle this more gracefully (it's not too bad either).

Do you want me to prepare a patch or do you intend to do it?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/22832] 2.30 internal error, aborting at ../../bfd/elflink.c:9710 in elf_link_output_extsym

2018-02-12 Thread jrtc27 at jrtc27 dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22832

--- Comment #4 from James Clarke  ---
So, after debugging this, the problem is as follows:

Rust is using LLVM with -integrated-as (at least effectively; it may well be
using it as a library and setting the flag itself, but the point is that the
lowered IR is fed straight into the object code backend rather than being
serialised via assembly and then assembled separately). LLVM's
SparcMCCodeEmitter::getCallTargetOpValue handles __tls_get_addr specially to
not emit an R_SPARC_WDISP30/WPLT30, and somewhere else the R_SPARC_TLS_LDM_CALL
gets emitted, but the important point is that __tls_get_addr is never added to
the output object file's symbol table despite being the symbolic operand to the
call instruction.

Thus, when linking one of these object files, that object file's hash table
never pulls in the definition of __tls_get_addr, and so when
_bfd_sparc_elf_check_relocs is called for an R_SPARC_TLS_LDM_CALL, it looks up
__tls_get_addr, doesn't find it, and so an entry is created, since TRUE is
passed to bfd_link_hash_lookup for create, but this entry has type
bfd_link_hash_new, and this never changes.

So it seems to me there are two issues here:

1. LLVM should be emitting an entry for __tls_get_addr in its symbol table so
it is made visible to the object file.

2. ld should gracefully handle this case. If this case is an error, it should
instead be passing FALSE for create to bfd_link_hash_lookup, and if the result
is NULL, printing an error; otherwise, if this case should work, something
needs to implicitly pull in the symbol (and in theory LLVM doesn't need to
change, though in practice it's best to do so anyway for compatibility).

I've talked specifically about local-dynamic here for simplicity, but
global-dynamic has the same issue too.

Note that gold also falls foul of this, giving "gold: internal error in
tls_get_addr_sym, at ../../gold/sparc.cc:391", though line 391 is
"gold_assert(this->tls_get_addr_sym_);" which is much easier to debug!

Reproduction:

jrtc27@deb4g:~/tmp/22832$ cat 22832.c
__thread int x;
int f(void) { return x; }
jrtc27@deb4g:~/tmp/22832$ clang -integrated-as -o 22832.o -fPIC -c 22832.c
jrtc27@deb4g:~/tmp/22832$ readelf -Wrs 22832.o

Relocation section '.rela.text' at offset 0x138 contains 6 entries:
Offset Info Type   Symbol's Value 
Symbol's Name + Addend
0008  00030011 R_SPARC_PC22   
_GLOBAL_OFFSET_TABLE_ + 4
000c  00030010 R_SPARC_PC10   
_GLOBAL_OFFSET_TABLE_ + 8
0014  00050038 R_SPARC_TLS_GD_HI22 x +
0
0018  00050039 R_SPARC_TLS_GD_LO10 x +
0
001c  0005003a R_SPARC_TLS_GD_ADD  x +
0
0020  0005003b R_SPARC_TLS_GD_CALL x +
0

Symbol table '.symtab' contains 6 entries:
   Num:Value  Size TypeBind   Vis  Ndx Name
 0:  0 NOTYPE  LOCAL  DEFAULT  UND 
 1:  0 FILELOCAL  DEFAULT  ABS 22832.c
 2:  0 TLS LOCAL  DEFAULT4 .tbss
 3:  0 NOTYPE  GLOBAL DEFAULT  UND
_GLOBAL_OFFSET_TABLE_
 4: 52 FUNCGLOBAL DEFAULT2 f
 5:  4 TLS GLOBAL DEFAULT4 x
jrtc27@deb4g:~/tmp/22832$ ld -o lib22832.so -shared 22832.o
ld: BFD (GNU Binutils) 2.30.51.20180211 internal error, aborting at
elflink.c:9710 in elf_link_output_extsym

ld: Please report this bug.

jrtc27@deb4g:~/tmp/22832$ gold -o lib22832.so -shared 22832.o
gold: internal error in tls_get_addr_sym, at ../../gold/sparc.cc:391

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


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

2018-02-12 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=13671

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #17 from H.J. Lu  ---
Please try users/hjl/solaris branch at

https://github.com/hjl-tools/binutils-gdb

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


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

2018-02-12 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=13671

H.J. Lu  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #16 from H.J. Lu  ---
[hjl@gnu-6 solaris-1]$ cat dummy.s
.text
.global _start
_start:
movlfoo@indntpoff, %eax
.globl  bar
.type   bar, @function
bar:
lealfoo@tlsgd(,%ebx,1), %eax
call___tls_get_addr@PLT
movl(%eax), %eax
.globl  foo
.section.tbss,"awT",@nobits
.align 4
.type   foo, @object
.size   foo, 4
foo:
.zero   4
[hjl@gnu-6 solaris-1]$ gcc -c -m32 dummy.s
[hjl@gnu-6 solaris-1]$ ./ld -m elf_i386_sol2   dummy.o 
./ld: BFD (GNU Binutils) 2.30.51.20180212 internal error, aborting at
/export/gnu/import/git/sources/binutils-gdb/bfd/elf32-i386.c:3169 in
elf_i386_relocate_section

./ld: Please report this bug.

[hjl@gnu-6 solaris-1]$ ld -m elf_i386   dummy.o 
[hjl@gnu-6 solaris-1]$

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/22829] objcopy/strip: PT_GNU_RELRO is removed when it's not placed before read-only section

2018-02-12 Thread ngg at tresorit dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22829

--- Comment #9 from NGG  ---
The second patch works in all the cases I've tried, thanks!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/22840] New: Several TLS tests FAIL on Solaris/SPARC

2018-02-12 Thread ro at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=22840

Bug ID: 22840
   Summary: Several TLS tests FAIL on Solaris/SPARC
   Product: binutils
   Version: 2.31 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

Several of the ld TLS tests FAIL on Solaris/SPARC (both in a
sparc-sun-solaris2.11
and sparcv9-sun-solaris2.11 configuration):

FAIL: 32-bit: TLS -fpic -shared transitions
FAIL: 32-bit: TLS -fpic and -fno-pic exec transitions
FAIL: 32-bit: TLS -fno-pic -shared
FAIL: 32-bit: TLS -fpie
FAIL: 32-bit: GOTDATA relocations
FAIL: relaxed call WDISP30 relocation
FAIL: 64-bit: TLS -fpic -shared transitions
FAIL: 64-bit: TLS -fpic and -fno-pic exec transitions
FAIL: 64-bit: TLS -fno-pic -shared
FAIL: 64-bit: TLS -fpie
FAIL: 64-bit: GOTDATA relocations

There are several issues here:

* Initially, the failures are like

/var/gcc/binutils/sparcv7/obj/binutils/ld/ld-new: target elf32-sparc not found
/var/gcc/binutils/sparcv7/obj/binutils/ld/ld-new: target elf32-sparc not found

  or the elf64-sparc equivalent.  This happens because sparc.exp hardcodes
  -melf32_sparc resp. -melf64_sparc, while Solaris uses (and requires) the
  -melf32_sparc_sol2 resp. -melf64_sparc_sol2 emulations.

  Unfortunately, unlike the #ld: lines in the *.?d files which can be modified
  by setting options_regsub(ld) for perform the appropriate substitution, this
  is not currently possible for the arg to run_ld_link_tests.

* To make some progress, I've hardcoded the Solaris values for now, which leads
  me to the next issues:

  The file format lines in the *.?d files under test all hardcode elf32-sparc
  or elf64-sparc, but should allow for elf32-sparc-sol2 (resp. elf32-sparc.*).

* Even with that fixed, there are many failures due to the fact that the
Solaris
  ABI requires a couple of additional symbols (cf. emultempl/solaris2.em
  (elf_solaris2_before_allocation), and those aren't currently expected in
  the output.  I'm uncertain how best to handle that: allow for a
postprocessing
  step after readelf that removes those from the output or augment the expected
  output accordingly?  It seems regexp_diff currently has no support for
  optional or target-specific lines in the expected output.

  Rainer

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/22839] New: Several plugin tests FAIL on 32-bit Solaris/SPARC

2018-02-12 Thread ro at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=22839

Bug ID: 22839
   Summary: Several plugin tests FAIL on 32-bit Solaris/SPARC
   Product: binutils
   Version: 2.31 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
  Host: sparc-sun-solaris2.11
Target: sparc-sun-solaris2.11
 Build: sparc-sun-solaris2.11

When running make check on 32-bit Solaris/SPARC, a couple of plugin tests FAIL:

FAIL: load plugin with source
FAIL: plugin claimfile lost symbol with source
FAIL: plugin claimfile replace symbol with source
FAIL: plugin claimfile resolve symbol with source
FAIL: plugin claimfile replace file with source
FAIL: plugin set symbol visibility with source
FAIL: plugin ignore lib with source
FAIL: plugin claimfile replace lib with source
FAIL: plugin 2 with source lib
FAIL: load plugin 2 with source
FAIL: load plugin 2 with source and -r
FAIL: plugin 3 with source lib
FAIL: load plugin 3 with source
FAIL: load plugin 3 with source and -r
FAIL: PR ld/20070

It's always the same pattern, it seems (for the first one here):

Hello from testplugin.
tv[0]: LDPT_MESSAGE func@0x1363fc
tv[1]: LDPT_API_VERSION value0x1 (1)
tv[2]: LDPT_GNU_LD_VERSION value   0xe6 (230)
tv[3]: LDPT_LINKER_OUTPUT value0x1 (1)
tv[4]: LDPT_OUTPUT_NAME 'tmpdir/main.x'
tv[5]: LDPT_REGISTER_CLAIM_FILE_HOOK func@0x135d88
tv[6]: LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK func@0x135d48
tv[7]: LDPT_REGISTER_CLEANUP_HOOK func@0x135d08
tv[8]: LDPT_ADD_SYMBOLS func@0x1360c4
tv[9]: LDPT_GET_INPUT_FILE func@0x135c9c
tv[10]: LDPT_GET_VIEW func@0x135ef4
tv[11]: LDPT_RELEASE_INPUT_FILE func@0x135c48
tv[12]: LDPT_GET_SYMBOLS func@0x1368d8
tv[13]: LDPT_GET_SYMBOLS_V2 func@0x1368cc
tv[14]: LDPT_ADD_INPUT_FILE func@0x135e8c
tv[15]: LDPT_ADD_INPUT_LIBRARY func@0x135e24
tv[16]: LDPT_SET_EXTRA_LIBRARY_PATH func@0x135dc8
tv[17]: LDPT_OPTION 'registerclaimfile'
tv[18]: LDPT_OPTION
'claim:/vol/src/gnu/binutils/binutils/local/ld/testsuite/ld-plugin/func.c'
tv[19]: LDPT_NULL value0x0 (0)
hook called: claim_file tmpdir/main.o [@0/3100] not claimed
hook called: claim_file
/vol/src/gnu/binutils/binutils/local/ld/testsuite/ld-plugin/func.c [@0/248]
CLAIMED
/var/gcc/binutils/sparcv7/obj/binutils/ld/ld-new: BFD (GNU Binutils)
2.30.51.20180209 internal error, aborting at
/vol/src/gnu/binutils/binutils/local/bfd/elf32-sparc.c:155 in
elf32_sparc_final_write_processing

/var/gcc/binutils/sparcv7/obj/binutils/ld/ld-new: Please report this bug.

At this point, for some reason we have:

arch = bfd_arch_unknown, mach = 0, arch_name = 0xef2e0 "unknown",

However, when mach is first set, it looks perfectly reasonable:

bfd_default_set_arch_mach (abfd=0x21a578, arch=bfd_arch_sparc, mach=1)

The same tests all PASS on sparcv9-sun-solaris2.11, btw.

  Rainer

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/22838] Incorrect linking for try-catch statement for target MIPS32 R2 little endian.

2018-02-12 Thread Ilija.Pavlovic at mips dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22838

Ilija Pavlovic  changed:

   What|Removed |Added

 CC||Ilija.Pavlovic at mips dot com

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/22838] New: Incorrect linking for try-catch statement for target MIPS32 R2 little endian.

2018-02-12 Thread Ilija.Pavlovic at mips dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22838

Bug ID: 22838
   Summary: Incorrect linking for try-catch statement for target
MIPS32 R2 little endian.
   Product: binutils
   Version: 2.28
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: gold
  Assignee: ccoutant at gmail dot com
  Reporter: Ilija.Pavlovic at mips dot com
CC: ian at airs dot com
  Target Milestone: ---

Created attachment 10812
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10812=edit
Files and the script for reproducing the problem.

Consider following example:

int main(int argc, char* argv[]) {
  try {
throw 20;
  } catch (...) {
return 123;
  }
  return 0;
}

The catch block should capture any kind of exceptions.

If this example is linked with gold linker for target MIPS32 R2 little endian,
execution of the example will result with error message "Segmentation fault".

If the same example is linked without -pie flag (Create a position independent
executable), the example will be linked correctly and executed as it is
expected.

This is tested with the Clang version 6.0.0 (trunk 321529) and the gold linker
version 2.28 (GNU gold (GNU Binutils 2.28) 1.14).

All files, parameters and commands needed for reproducing the problem are in
the attached file.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


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

2018-02-12 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://sourceware.org/bugzilla/show_bug.cgi?id=13671

--- Comment #15 from Rainer Orth  ---
> --- Comment #14 from H.J. Lu  ---
[...]
> Please provide all linker inputs so that I
> can reproduce i it on Linux.

Now available at

https://www.cebitec.uni-bielefeld.de/~ro/files/pr13671.tar.bz2

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/22836] "-r -s" doesn't work with -g3 using GCC 7

2018-02-12 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22836

--- Comment #1 from H.J. Lu  ---
"strip -g" works correctly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/22836] New: "-r -s" doesn't work with -g3 using GCC 7

2018-02-12 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22836

Bug ID: 22836
   Summary: "-r -s" doesn't work with -g3 using GCC 7
   Product: binutils
   Version: 2.31 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: hjl.tools at gmail dot com
  Target Milestone: ---

[hjl@gnu-4 tmp]$ cat x.c
void
foo ()
{
}
[hjl@gnu-4 tmp]$ gcc -c -g3 x.c
[hjl@gnu-4 tmp]$ ld.bfd -r -s x.o
ld.bfd: BFD (Linux/GNU Binutils) 2.30.51.0.1.20180210 assertion fail
/net/gnu-bdx-1/export/linux/src/binutils/binutils/bfd/elf.c:3565
ld.bfd: BFD (Linux/GNU Binutils) 2.30.51.0.1.20180210 assertion fail
/net/gnu-bdx-1/export/linux/src/binutils/binutils/bfd/elf.c:3565

Gold gives reason, but still fails:

[hjl@gnu-4 tmp]$ ld.gold -r -s x.o
ld.gold: error: x.o: section group retained but group element discarded
ld.gold: error: x.o: section group retained but group element discarded
ld.gold: error: x.o: section group retained but group element discarded
ld.gold: error: x.o: section group retained but group element discarded
[hjl@gnu-4 tmp]$

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/22829] objcopy/strip: PT_GNU_RELRO is removed when it's not placed before read-only section

2018-02-12 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22829

Alan Modra  changed:

   What|Removed |Added

  Attachment #10808|0   |1
is obsolete||

--- Comment #8 from Alan Modra  ---
Created attachment 10810
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10810=edit
a better fix

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/22829] objcopy/strip: PT_GNU_RELRO is removed when it's not placed before read-only section

2018-02-12 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22829

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|amodra at gmail dot com|
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
   Severity|enhancement |normal

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/22823] bfd/libbfd.h:268:4: error: cast between incompatible function types from ‘bfd_boolean (*)(bfd *)’ {aka ‘int (*)(struct bfd *)’} to ‘bfd_boolean (*)(bfd *, bfd *)’ {aka ‘int (*)(st

2018-02-12 Thread dilyan.palauzov at aegee dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=22823

--- Comment #3 from dilyan.palauzov at aegee dot org  ---
This shifts the errors few lines further:

make[4]: Entering directory '/home/d/binutils/bfd'
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I/git/binutils-gdb/bfd -I. -I/git/binutils-gdb/bfd
-I/git/binutils-gdb/bfd/../include  -DHAVE_all_vecs 
-DBINDIR='"/usr/local/bin"'  -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wshadow -Wstack-usage=262144 -Werror  -O3 -pipe -MT binary.lo -MD -MP -MF
.deps/binary.Tpo -c -o binary.lo /git/binutils-gdb/bfd/binary.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/git/binutils-gdb/bfd -I.
-I/git/binutils-gdb/bfd -I/git/binutils-gdb/bfd/../include -DHAVE_all_vecs
-DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wshadow -Wstack-usage=262144 -Werror -O3 -pipe -MT binary.lo -MD -MP -MF
.deps/binary.Tpo -c /git/binutils-gdb/bfd/binary.c -o binary.o
In file included from /git/binutils-gdb/bfd/binary.c:38:
/git/binutils-gdb/bfd/libbfd.h:305:4: error: cast between incompatible function
types from ‘bfd_boolean (*)(bfd *)’ {aka ‘int (*)(struct bfd *)’} to
‘bfd_boolean (*)(bfd *, char **, bfd_size_type *, const char **)’ {aka ‘int
(*)(struct bfd *, char **, long unsigned int *, const char **)’}
[-Werror=cast-function-type]
   ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
^
./bfd.h:7519:3: note: in expansion of macro
‘_bfd_noarchive_construct_extended_name_table’
   NAME##_construct_extended_name_table, \
   ^~~~
/git/binutils-gdb/bfd/binary.c:364:3: note: in expansion of macro
‘BFD_JUMP_TABLE_ARCHIVE’
   BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
   ^~
/git/binutils-gdb/bfd/libbfd.h:308:4: error: cast between incompatible function
types from ‘void (*)(bfd *)’ {aka ‘void (*)(struct bfd *)’} to ‘void (*)(bfd *,
const char *, char *)’ {aka ‘void (*)(struct bfd *, const char *, char *)’}
[-Werror=cast-function-type]
   ((void (*) (bfd *, const char *, char *)) bfd_void)
^
./bfd.h:7520:3: note: in expansion of macro ‘_bfd_noarchive_truncate_arname’
   NAME##_truncate_arname, \
   ^~~~
/git/binutils-gdb/bfd/binary.c:364:3: note: in expansion of macro
‘BFD_JUMP_TABLE_ARCHIVE’
   BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
   ^~
/git/binutils-gdb/bfd/libbfd.h:310:4: error: cast between incompatible function
types from ‘bfd_boolean (*)(bfd *)’ {aka ‘int (*)(struct bfd *)’} to
‘bfd_boolean (*)(bfd *, unsigned int,  struct orl *, unsigned int,  int)’ {aka
‘int (*)(struct bfd *, unsigned int,  struct orl *, unsigned int,  int)’}
[-Werror=cast-function-type]
   ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
^
./bfd.h:7521:3: note: in expansion of macro ‘_bfd_noarchive_write_armap’
   NAME##_write_armap, \
   ^~~~
/git/binutils-gdb/bfd/binary.c:364:3: note: in expansion of macro
‘BFD_JUMP_TABLE_ARCHIVE’
   BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
   ^~
/git/binutils-gdb/bfd/libbfd.h:314:4: error: cast between incompatible function
types from ‘bfd_boolean (*)(bfd *)’ {aka ‘int (*)(struct bfd *)’} to
‘bfd_boolean (*)(bfd *, bfd *)’ {aka ‘int (*)(struct bfd *, struct bfd *)’}
[-Werror=cast-function-type]
   ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
^
./bfd.h:7523:3: note: in expansion of macro ‘_bfd_noarchive_write_ar_hdr’
   NAME##_write_ar_hdr, \
   ^~~~
/git/binutils-gdb/bfd/binary.c:364:3: note: in expansion of macro
‘BFD_JUMP_TABLE_ARCHIVE’
   BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
   ^~
/git/binutils-gdb/bfd/libbfd.h:316:4: error: cast between incompatible function
types from ‘void * (*)(bfd *)’ {aka ‘void * (*)(struct bfd *)’} to ‘bfd *
(*)(bfd *, bfd *)’ {aka ‘struct bfd * (*)(struct bfd *, struct bfd *)’}
[-Werror=cast-function-type]
   ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
^
./bfd.h:7524:3: note: in expansion of macro
‘_bfd_noarchive_openr_next_archived_file’
   NAME##_openr_next_archived_file, \
   ^~~~
/git/binutils-gdb/bfd/binary.c:364:3: note: in expansion of macro
‘BFD_JUMP_TABLE_ARCHIVE’
   BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
   ^~
/git/binutils-gdb/bfd/libbfd.h:318:4: error: cast between incompatible function
types from ‘void * (*)(bfd *)’ {aka ‘void * (*)(struct bfd *)’} to ‘bfd *
(*)(bfd *, symindex)’ {aka ‘struct bfd * (*)(struct bfd *, long unsigned int)’}
[-Werror=cast-function-type]
   ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
^
./bfd.h:7525:3: note: in expansion of macro ‘_bfd_noarchive_get_elt_at_index’
   NAME##_get_elt_at_index, \
   ^~~~
/git/binutils-gdb/bfd/binary.c:364:3: note: in expansion of macro
‘BFD_JUMP_TABLE_ARCHIVE’
   BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
   ^~
/git/binutils-gdb/bfd/libbfd.h:417:4: error: cast between incompatible function
types from ‘void (*)(bfd *)’ {aka ‘void (*)(struct bfd *)’} to ‘void (*)(bfd *,
void *, asymbol *, bfd_print_symbol_type)’ {aka ‘void 

[Bug gas/22835] New: The unused rs_broken_word in enum _relax_state

2018-02-12 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22835

Bug ID: 22835
   Summary: The unused  rs_broken_word in enum _relax_state
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: gas
  Assignee: unassigned at sourceware dot org
  Reporter: hjl.tools at gmail dot com
  Target Milestone: ---

enum _relax_state in as.h has

#ifndef WORKING_DOT_WORD
  /* JF: gunpoint */
  rs_broken_word,
#endif

Since WORKING_DOT_WORD is defined later, we leave the
unused rs_broken_word in as.h

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/22823] bfd/libbfd.h:268:4: error: cast between incompatible function types from ‘bfd_boolean (*)(bfd *)’ {aka ‘int (*)(struct bfd *)’} to ‘bfd_boolean (*)(bfd *, bfd *)’ {aka ‘int (*)(st

2018-02-12 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22823

Nick Clifton  changed:

   What|Removed |Added

 CC||nickc at redhat dot com

--- Comment #2 from Nick Clifton  ---
Created attachment 10809
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10809=edit
Proposed patch

Hi Dilyan,

  Would you mind trying out this patch and let me know if it works ?

  I do not have access to a gcc-8 build system at the moment, so I
  am not sure if this fix will actually make things any better...

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


Re: bfd/elf32-arc.c:1537]: (warning) Redundant assignment

2018-02-12 Thread Nick Clifton
Hi David,

> bfd/elf32-arc.c:1537]: (warning) Redundant assignment of 'rel->r_offset' to 
> itself.

Thanks for reporting this problem.  I have checked in
a small patch to remove the assignment.

Cheers
  Nick


___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


Re: bfd/elf32-nds32.c:9693]: (warning) Redundant assignment

2018-02-12 Thread Nick Clifton
Hi David,

> bfd/elf32-nds32.c:9693]: (warning) Redundant assignment of 'irel->r_addend' 
> to itself.

Thanks for reporting this.  I have checked in the obvious fix
of removing the redundant assignment.

Cheers
  Nick

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils