[Bug binutils/22219] New: infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD)

2017-09-27 Thread luanjunchao at 163 dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22219

Bug ID: 22219
   Summary: infinite loop in process_debug_info in dwarf.c in
binutils 2.30(HEAD)
   Product: binutils
   Version: 2.30 (HEAD)
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: luanjunchao at 163 dot com
  Target Milestone: ---

Created attachment 10490
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10490&action=edit
poc of infinite loop

When I run "objdump -x -D -S -s -g -e -G --dwarf -t -T -r -R --special-syms
--inlines --dwarf-check loop.elf", it traps into function process_debug_info.

Some of the function snippet is here:

for (section_begin = start, unit = 0; start < end; unit++)
{
..
  start += compunit.cu_length + initial_length_size;
..
}

When I debug it with gdb, I can see that compuint.cu_length = 0xfff4 and
initial_length_size =12 which leads to start +=0 each loop. Maybe there is an
integer overflow here.
The poc is attached here.

-- 
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/22220] New: BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread mliska at suse dot cz
https://sourceware.org/bugzilla/show_bug.cgi?id=0

Bug ID: 0
   Summary: BFD linker plugin wrongly marks symbols as
PREVAILING_DEF_IRONLY
   Product: binutils
   Version: 2.28
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: mliska at suse dot cz
  Target Milestone: ---

As mentioned here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172,
ld.bfd marks following symbol of libstdc++:

$ readelf -s /usr/lib64/gcc/x86_64-suse-linux/7/libstdc++.so --wide | grep
_ZNSs4_Rep20_S_empty_rep_storageE
  4310: 00388d4032 OBJECT  UNIQUE DEFAULT   28
_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4

as:
grep storage pr82172-2.res 
1322 8b73ecc64ca986c5 PREVAILING_DEF_IRONLY _ZNSs4_Rep20_S_empty_rep_storageE

Which is wrong because it's a static member of basic_string class and it has
many references from libstdc++.so itself.

$ ld --version
GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.28.0.20170331-2

On the other hand, ld.gold works fine:

grep storage pr82172-2.res 
1322 2800fe9d29715552 PREVAILING_DEF_IRONLY_EXP
_ZNSs4_Rep20_S_empty_rep_storageE

I have a small reproducer, which shows difference of ld.gold and ld.bfs
(PREVAILING_DEF_IRONLY_EXP vs. PREVAILING_DEF_IRONLY_EXP), hopefully will be
useful:

$ cat test.h
extern int doo();

inline int *goo() {
static int xyz;
return &xyz;
}

int *boo();

$ cat lib.c
#include "test.h"

int* boo() {
  return goo ();
}

$ cat main.c
#include "test.h"

int main()
{
  if (boo() == goo())
  __builtin_printf("good: %p\n", goo());
}

$ g++ lib.c  -shared -fPIC -o libtest.so
$ g++ main.c -ltest -L. -flto -O2 --save-temps && grep xyz main.res
232 a8edc87dd4d6628a PREVAILING_DEF _ZZ3goovE3xyz

Reproducer for the original issue is here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172#c10

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 binutils/17531] readelf crashes on fuzzed samples

2017-09-27 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17531

--- Comment #99 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=6bd6a03d6975a96802b37741a99644570e52a72b

commit 6bd6a03d6975a96802b37741a99644570e52a72b
Author: Alan Modra 
Date:   Wed Sep 27 15:14:00 2017 +0930

PR22216, infinite loop in readelf process_symbol_table

This should make readelf bombproof given a fuzzed DT_HASH.  Also
removes a bogus check that would have resulted in wrong histograms.

PR 22216
* readelf.c (process_symbol_table): Check that DT_HASH symbol
chains are only visited once, and report an error if not.  Display
invalid symbol index if chain is out of range.  Use the same logic
when calculating histograms rather than the PR 17531 fix.  Delete
bogus check that chained index is less than number of buckets.

-- 
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/22216] infinite loop in readelf process_symbol_table

2017-09-27 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22216

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC|amodra at gmail dot com|
 Resolution|--- |FIXED
   Target Milestone|--- |2.30
Summary|infinite loop in|infinite loop in readelf
   |process_symbol_table in |process_symbol_table
   |readelf.c in binutils   |
   |2.30(HEAD)  |

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

-- 
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/21841] FAIL: debug_msg.sh with GCC 7

2017-09-27 Thread romain.geissler at amadeus dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=21841

--- Comment #2 from Romain Geissler  ---
Created attachment 10491
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10491&action=edit
Possible workaround in the gold testsuite (not a nice one...)

-- 
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/22216] infinite loop in process_symbol_table in readelf.c in binutils 2.30(HEAD)

2017-09-27 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=22216

--- 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=6bd6a03d6975a96802b37741a99644570e52a72b

commit 6bd6a03d6975a96802b37741a99644570e52a72b
Author: Alan Modra 
Date:   Wed Sep 27 15:14:00 2017 +0930

PR22216, infinite loop in readelf process_symbol_table

This should make readelf bombproof given a fuzzed DT_HASH.  Also
removes a bogus check that would have resulted in wrong histograms.

PR 22216
* readelf.c (process_symbol_table): Check that DT_HASH symbol
chains are only visited once, and report an error if not.  Display
invalid symbol index if chain is out of range.  Use the same logic
when calculating histograms rather than the PR 17531 fix.  Delete
bogus check that chained index is less than number of buckets.

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

Alan Modra  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2017-09-27
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
 Ever confirmed|0   |1

--- Comment #1 from Alan Modra  ---
This has already been fixed with 2.29.

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

--- Comment #2 from Alan Modra  ---
Fixed by the patch for pr21382

-- 
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/22219] infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD)

2017-09-27 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=22219

--- Comment #1 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Nick Clifton :

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

commit 19485196044b2521af979f1e5c4a89bfb90fba0b
Author: Nick Clifton 
Date:   Wed Sep 27 10:42:51 2017 +0100

Prevent an infinite loop in the DWARF parsing code when encountering a CU
structure with a small negative size.

PR 22219
* dwarf.c (process_debug_info): Add a check for a negative
cu_length field.

-- 
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/22219] infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD)

2017-09-27 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22219

Nick Clifton  changed:

   What|Removed |Added

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

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

  Thanks for reporting this bug.  I have checked in a patch to test for
negative lengths in the comp_unit structure, which will prevent this infinite
loop from happening again.

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


[Bug ld/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread mliska at suse dot cz
https://sourceware.org/bugzilla/show_bug.cgi?id=0

--- Comment #3 from Martin Liska  ---
> $ g++ lib.c  -shared -fPIC -o libtest.so
> $ g++ main.c -ltest -L. -flto -O2 --save-temps && grep xyz main.res
> 232 a8edc87dd4d6628a PREVAILING_DEF _ZZ3goovE3xyz
> 
I can confirm having this:

ld --version
GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.29.0.20170830-0

Now I'm given correct result for my small sample:
g++ main.c -ltest -L. -flto -O2 --save-temps && grep xyz main.res
232 224d00cabf975876 PREVAILING_DEF_IRONLY_EXP _ZZ3goovE3xyz

However I still have problem with the libstdc++ example:

$ grep storage pr82172-2.res
1310 caa2dce973a8949f PREVAILING_DEF_IRONLY _ZNSs4_Rep20_S_empty_rep_storageE

Can you please test 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/21382] --as-needed cannot be combined with -flto

2017-09-27 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=21382

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

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

commit b805037cf0061e86b1a71cba26fdaff52a46844d
Author: H.J. Lu 
Date:   Thu Apr 20 07:48:24 2017 -0700

Handle symbol defined in IR and referenced in DSO

We need to make an IR symbol visible if it is defined in an IR object
and referenced in a dynamic object.  When --as-needed is used, since
linker removes the IR symbol reference of the dynamic object if the
dynamic object isn't needed in the first pass, the IR definition isn't
visible to the dynamic object even if the dynamic object becomes needed
in the second pass.  Add dynamic_ref_after_ir_def to bfd_link_hash_entry
to track IR symbol which is defined in an IR object and later referenced
in a dynamic object.  dynamic_ref_after_ir_def is preserved when restoring
the symbol table for unneeded dynamic object.

bfd/

PR ld/21382
* elflink.c (elf_link_add_object_symbols): Preserve
dynamic_ref_after_ir_def when restoring the symbol table for
unneeded dynamic object.

include/

PR ld/21382
* bfdlink.h (bfd_link_hash_entry): Add dynamic_ref_after_ir_def.

ld/

PR ld/21382
* plugin.c (is_visible_from_outside): Symbol may be visible
from outside if dynamic_ref_after_ir_def is set.
(plugin_notice): Set dynamic_ref_after_ir_def if the symbol is
defined in an IR object and referenced in a dynamic object.
* testsuite/ld-plugin/lto.exp: Run PR ld/21382 tests.
* testsuite/ld-plugin/pr21382a.c: New file.
* testsuite/ld-plugin/pr21382b.c: Likewise.

(cherry picked from commit 59fa66c53823dc695f78669f40ec2eebab3aec42)

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

Alan Modra  changed:

   What|Removed |Added

Version|2.28|2.30 (HEAD)

--- Comment #4 from Alan Modra  ---
Ah, yes the preprocessed file in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172 fails even on binutils
master.  (My gcc was a little out of date, 8.0.0 20170902, if that matters.)

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread mliska at suse dot cz
https://sourceware.org/bugzilla/show_bug.cgi?id=0

--- Comment #5 from Martin Liska  ---
(In reply to Alan Modra from comment #4)
> Ah, yes the preprocessed file in
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172 fails even on binutils
> master.  (My gcc was a little out of date, 8.0.0 20170902, if that matters.)

It does not matter, happens even for very ancient releases of GCC.
Can you please debug why gold and bfd provide different resolution of the given
symbol?

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

--- Comment #6 from Alan Modra  ---
gold has the following

static inline bool
is_visible_from_outside(Symbol* lsym)
{
  if (lsym->in_dyn())
return true;
  if (parameters->options().export_dynamic() || parameters->options().shared()
  || parameters->options().in_dynamic_list(lsym->name())
  || parameters->options().is_export_dynamic_symbol(lsym->name()))
return lsym->is_externally_visible();
  return false;
}

while ld.bfd uses

static inline bfd_boolean
is_visible_from_outside (struct ld_plugin_symbol *lsym,
 struct bfd_link_hash_entry *blhe)
{
  struct bfd_sym_chain *sym;

  if (bfd_link_relocatable (&link_info))
return TRUE;
  if (blhe->non_ir_ref_dynamic
  || link_info.export_dynamic
  || bfd_link_dll (&link_info))
{
...

What makes a difference here is that gold has is_dyn() true while the roughly
equivalent ld.bfd non_ir_ref_dynamic is not set.

-- 
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/22221] New: add --no-dynamic-linker option

2017-09-27 Thread markus at trippelsdorf dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=1

Bug ID: 1
   Summary: add --no-dynamic-linker option
   Product: binutils
   Version: 2.30 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gold
  Assignee: ccoutant at gmail dot com
  Reporter: markus at trippelsdorf dot de
CC: hjl.tools at gmail dot com, ian at airs dot com
  Target Milestone: ---

Now that static-pie is all the rage, it would be nice 
if the --no-dynamic-linker option could be added to gold.

 % ld.bfd --help | grep no-dynamic-linker
  --no-dynamic-linker   Produce an executable with no program interpreter
header

-- 
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/22221] add --no-dynamic-linker option

2017-09-27 Thread markus at trippelsdorf dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=1

--- Comment #1 from Markus Trippelsdorf  ---
So perhaps:

diff --git a/gold/layout.cc b/gold/layout.cc
index 5f25faea5532..4fe4d6825223 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -2749,7 +2749,8 @@ Layout::finalize(const Input_objects* input_objects,
Symbol_table* symtab,
   // if we saw a .interp section in an input file.
   if ((!parameters->options().shared()
   || parameters->options().dynamic_linker() != NULL)
- && this->interp_segment_ == NULL)
+ && this->interp_segment_ == NULL
+ && !parameters->options().no_dynamic_linker())
this->create_interp(target);

   // Finish the .dynamic section to hold the dynamic data, and put
diff --git a/gold/options.h b/gold/options.h
index 93f81b29afcc..2b660c1e6d79 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -1050,6 +1050,9 @@ class General_options
  N_("Do not page align data, do not make text readonly"),
  N_("Page align data, make text readonly"));

+  DEFINE_bool(no_dynamic_linker, options::TWO_DASHES, '\0', false,
+ N_("Produce an executable with no program interpreter header"),
NULL);
+
   DEFINE_bool(no_keep_memory, options::TWO_DASHES, '\0', false,
  N_("Use less memory and more disk I/O "
 "(included only for compatibility with GNU ld)"), NULL);

-- 
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/22221] add --no-dynamic-linker option

2017-09-27 Thread markus at trippelsdorf dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=1

--- Comment #2 from Markus Trippelsdorf  ---
The following produces an static-pie executable that crashes on startup
when it calls __pthread_initialize_minimal():

diff --git a/gold/gold.cc b/gold/gold.cc
index a76d155f940a..a2dd31816acc 100644 
--- a/gold/gold.cc  
+++ b/gold/gold.cc  
@@ -607,13 +607,6 @@ queue_middle_tasks(const General_options& options, 
 (!input_objects->any_dynamic() 
  && !parameters->options().output_is_position_independent());  
   set_parameters_doing_static_link(doing_static_link); 
-  if (!doing_static_link && options.is_static())   
-{  
-  // We print out just the first .so we see; there may be others.  
-  gold_assert(input_objects->dynobj_begin() !=
input_objects->dynobj_end());
-  gold_error(_("cannot mix -static with dynamic object %s"),   
-(*input_objects->dynobj_begin())->name().c_str()); 
-}  
   if (!doing_static_link && parameters->options().relocatable())   
 gold_fatal(_("cannot mix -r with dynamic object %s"),  
   (*input_objects->dynobj_begin())->name().c_str());   
diff --git a/gold/layout.cc b/gold/layout.cc
index 5f25faea5532..5c531e470b66 100644 
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -2730,7 +2730,8 @@ Layout::finalize(const Input_objects* input_objects,
Symbol_table* symtab,   

   // Create the PT_PHDR segment which will hold the program
   // headers.  
-  if (!this->script_options_->saw_phdrs_clause())  
+  if (!this->script_options_->saw_phdrs_clause()   
+ && !parameters->options().no_dynamic_linker())
phdr_seg = this->make_output_segment(elfcpp::PT_PHDR, elfcpp::PF_R);

   // Create the dynamic symbol table, including the hash table.
@@ -2749,7 +2750,8 @@ Layout::finalize(const Input_objects* input_objects,
Symbol_table* symtab,  
   // if we saw a .interp section in an input file. 
   if ((!parameters->options().shared() 
   || parameters->options().dynamic_linker() != NULL)   
- && this->interp_segment_ == NULL) 
+ && this->interp_segment_ == NULL  
+ && !parameters->options().no_dynamic_linker())
this->create_interp(target);

   // Finish the .dynamic section to hold the dynamic data, and put 
diff --git a/gold/options.cc b/gold/options.cc  
index ed63b6f04feb..15e77d6c2b67 100644 
--- a/gold/options.cc   
+++ b/gold/options.cc   
@@ -1290,8 +1290,6 @@ General_options::finalize()   
 gold_fatal(_("-shared and -static are incompatible")); 
   if (this->shared() && this->pie())   
 gold_fatal(_("-shared and -pie are incompatible"));
-  if (this->pie() && this->is_static())
-gold_fatal(_("-pie and -static are incompatible"));

   if (this->shared() && this->relocatable())   
 gold_fatal(_("-shared and -r are incompatible"));  
diff --git a/gold/options.h b/gold/options.h
index 93f81b29afcc..2b660c1e6d79 100644 
--- a/gold/options.h
+++ b/gold/options.h
@@ -1050,6 +1050,9 @@ class General_options 
  N_("Do not page align data, do not make text readonly"),  
  N_("Page align data, make text readonly"));   

+  DEFINE_bool(no_dynamic_linker, options::TWO_DASHES, '\0', false, 
+ N_("Produce an executable with no program interpreter header"),
NULL); 
+   
   DEFINE_bool(no_keep_memory, options::TWO_DASHES, '\0', false,
  N_("Use less memory and more disk I/O "   

=

ld.bfd:

  /* Initialize libpthread if linked in.  */
  if (__pthread_initialize_minimal != NULL) 
91d6:   48 83 3d 32 90 09 00cmpq   $0x0,0x99032(%rip)#
a2210 <__pthread_initialize_minimal>
91dd:   00

[Bug gas/22179] [RISCV] fmv.w.x and fmv.x.w opcodes are not recognised

2017-09-27 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=22179

--- Comment #1 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Nick Clifton :

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

commit 8e43602e34ba404d82f7c74f6629f01e40c740e0
Author: Nick Clifton 
Date:   Wed Sep 27 16:21:36 2017 +0100

Add support for the new names of the RISC-V fmv.x.s and fmv.s.x
instructions, vis: fmv.x.w and fmv.w.x.

PR 22179
opcodes * riscv-opc.c (riscv_opcodes): Add fmv.x.w and fmv.w.x as the
new
names for the fmv.x.s and fmv.s.x instructions respectively.

gas * testsuite/gas/riscv/fmv.x.s: New file: Tests the support for the
renamed fmv.x.s and fmv.s.x instructions.
* testsuite/gas/riscv/fmv.x.d: New file: Test driver.

-- 
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 gas/22179] [RISCV] fmv.w.x and fmv.x.w opcodes are not recognised

2017-09-27 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=22179

Nick Clifton  changed:

   What|Removed |Added

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

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

  Thanks for pointing out this problem.  I have checked in a patch to add the
new names to the assembler, as well as a new test case to make sure that the
new names are generated during disassembly.

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


[Bug ld/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

H.J. Lu  changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

--- Comment #7 from H.J. Lu  ---
The problem is _ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 vs
_ZNSs4_Rep20_S_empty_rep_storageE.  plugin_notice treats them as
2 different symbols.

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

--- Comment #8 from H.J. Lu  ---
[hjl@gnu-efi-2 pr0]$ cat lib.v
BAR {
global:
*;
};
[hjl@gnu-efi-2 pr0]$ make
g++ -B./ -flto   -c -o main.o main.cc
g++ -B./ -shared -o libtest.so -fPIC lib.c -Wl,--version-script,lib.v
g++ -B./ -o x main.o libtest.so -Wl,-R,. # --save-temps -Wl,-plugin-save-temps
./x
[hjl@gnu-efi-2 pr0]$

-- 
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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY

2017-09-27 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=0

--- Comment #9 from Alan Modra  ---
> The problem is _ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 vs
> _ZNSs4_Rep20_S_empty_rep_storageE.

Yes, I know what needs to be done, in _bfd_elf_merge_symbol.  Last evening I
took the sensible course and went to bed rather than working.  :)

-- 
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/22221] add --no-dynamic-linker option

2017-09-27 Thread ccoutant at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=1

--- Comment #3 from Cary Coutant  ---
I'm not sure I understand exactly what this option is for. If "-static -pie"
will produce a static-pie executable, wouldn't such an executable already lack
a dynamic linker? That's (part of) what -static does.

What does the option have to do with the PT_PHDR header and segment? From the
name & description, it sounds like it's intended to suppress the PT_INTERP
header.

If the option is also supposed to suppress the PT_PHDR header, shouldn't we
issue a warning or an error if this option is used and we see a PHDRS clause in
the linker script?

-- 
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