[Bug gas/18427] GNU as slow on hppa architecture

2015-06-03 Thread dave.anglin at bell dot net
https://sourceware.org/bugzilla/show_bug.cgi?id=18427

--- Comment #6 from dave.anglin at bell dot net ---
Hi Nick,

On 2015-06-01 4:01 AM, nickc at redhat dot com wrote:
 https://sourceware.org/bugzilla/show_bug.cgi?id=18427

 --- Comment #5 from Nick Clifton nickc at redhat dot com ---
 Hi Dave,

 Thanks for helping with this change.

 I'm not sure about the option.  Alpha has somewhat similar code without
 an option.

 As I understand it, this code is to handle a number of instructions
 which require a preceding
 label.  It usually emitted on the previous line.  It seems to me that
 changing segments between
 the label and its related instruction should be an error.  I don't think
 this feature is needed
 even for the HP-UX SOM target.

 I will check whether GCC needs this for SOM.
 OK - thanks.  If you can confirm that support for this behaviour is no
 longer needed then I will be happy to go with the simpler patch.  (Or
 maybe the simpler one + an error message if the preceding label cannot
 be found).  I just did not want to break anybody's builds because of a
 speed optimization,
Attached is a change to implement the above handling for the last label.

The gas testsuite for the hpux SOM target is clean.  There are four 
fails with 64-bit
hpux ELF target.  None of these appear related to the change. Haven't 
tested linux yet.

The 64-bit gas fails are:
FAIL: gas/all/none
FAIL: Multibyte symbol names
FAIL: weak and common directives
FAIL: common and weak directives

The latter two are caused by the behavior of the .comm directive. These 
two would pass
with foobar label before the .comm.

We have for gas/all/none:
# ../as-new -o dump.o none.s
# /opt/gnu64/bin/objdump -r -w dump.o

dump.o: file format elf64-hppa

RELOCATION RECORDS FOR [.text]:
OFFSET   TYPE  VALUE
 R_PARISC_PCREL64  *ABS*

We have for Multibyte symbol names:
# ../as-new -o dump.o syms.s
# /opt/gnu64/bin/readelf  -S -s -p .strtab dump.o
There are 8 section headers, starting at offset 0x120:

Section Headers:
   [Nr] Name  Type Address   Offset
Size  EntSize  Flags  Link  Info  Align
   [ 0]   NULL   
     0 0 0
   [ 1] .text PROGBITS   0040
    AX   0 0 1
   [ 2] .data PROGBITS   0040
    WA   0 0 1
   [ 3] .bss  NOBITS     0040
    WA   0 0 1
   [ 4] sec▒▒tion PROGBITS   0040
0009     0 0 1
   [ 5] .shstrtab STRTAB     00ea
0036     0 0 1
   [ 6] .symtab   SYMTAB     0050
0090  0018   7 6 8
   [ 7] .strtab   STRTAB     00e0
000a     0 0 1
Key to Flags:
   W (write), A (alloc), X (execute), M (merge), S (strings)
   I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
   O (extra OS processing required) o (OS specific), p (processor specific)

Symbol table '.symtab' contains 6 entries:
Num:Value  Size TypeBind   Vis  Ndx Name
  0:  0 NOTYPE  LOCAL  DEFAULT  UND
  1:  0 SECTION LOCAL  DEFAULT1
  2:  0 SECTION LOCAL  DEFAULT2
  3:  0 SECTION LOCAL  DEFAULT3
  4:  0 SECTION LOCAL  DEFAULT4
  5:  0 NOTYPE  LOCAL  DEFAULT4 sy▒▒mbol

String dump of section '.strtab':
   [tx]  sy▒▒mbol

Dave

-- 
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/18482] New: inconsistent bfd-plugins directory for cross-compiler tools

2015-06-03 Thread ossman at cendio dot se
https://sourceware.org/bugzilla/show_bug.cgi?id=18482

Bug ID: 18482
   Summary: inconsistent bfd-plugins directory for cross-compiler
tools
   Product: binutils
   Version: 2.25
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: ossman at cendio dot se
  Target Milestone: ---

The path to the bfd-plugins directory is computed a bit wonky when you're
building binutils for cross-compilation, resulting in it looking in two
different locations depending on how you call it.

Basically it always looks for it as progdir/../lib/bfd-plugins. The problem
is that progdir will be bindir if you call target-nm, but tooldir/bin
if you call nm (in the tooldir directory). IOW, e.g. an ARM cross compiler will
look in these two places:

/usr/bin/../bin/../lib/bfd-plugins
/usr/arm-none-linux-gnueabi/bin/../bin/../lib/bfd-plugins

Besides the fact that I now have to dump plugins in two places, I'm also
concerned that all my different binutils share /usr/lib/bfd-plugins. Does gcc's
LTO plugin handle every possible target? Or will I have to put every gcc's
plugin in there under different names? And will binutils pick the right one?

I'd suggest to use the tooldir directory for cross-compilers in order to avoid
confusion.

-- 
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/15370] linker script does not group sections correctly when building ppc64 Linux kernel

2015-06-03 Thread ccoutant at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=15370

Cary Coutant ccoutant at gmail dot com changed:

   What|Removed |Added

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

--- Comment #3 from Cary Coutant ccoutant at gmail dot com ---
Fixed on trunk.

-- 
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/15370] linker script does not group sections correctly when building ppc64 Linux kernel

2015-06-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=15370

--- Comment #2 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot 
gnu.org ---
The master branch has been updated by Cary Coutant ccout...@sourceware.org:

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

commit 374082dfab280123f5a54a23b1c1b2cb893b4d2b
Author: Cary Coutant ccout...@gmail.com
Date:   Wed Jun 3 19:11:42 2015 -0700

Fix gold to group sections correctly via linker script.

In PR 15370, it is noted that gold does not distinguish between
*(.foo .bar) and *(.foo) *(.bar) in linker scripts. In both
cases, gold groups all .foo sections together, followed by all
.bar sections, whereas in the first case, it should collect all
.foo and .bar sections in the order seen.

If you add sort specs, the Gnu linker has some bizarre corner
cases that I do not try to replicate. In particular,
*(SORT_BY_NAME(.foo) SORT_BY_NAME(.bar)) does the same thing
as *(.foo) *(.bar). But if you apply a sort spec
to just one of several patterns, say, *(SORT_BY_NAME(.foo) .bar),
the Gnu linker will collect any .bar section it sees before the
first .foo, then all .foo sections, then all remaining .bar
sections. With this patch, if any of the input patterns have a
sort spec, gold will group them all as it did before; e.g.,
all .foo sections followed by all .bar sections.

2015-06-03  Cary Coutant  ccout...@gmail.com

gold/
PR gold/15370
* script-sections.cc
(Output_section_element_input::set_section_addresses): When there
are several patterns with no sort spec, put all sections in the same
bin.
* testsuite/Makefile.am (script_test_12): New testcase.
(script_test_12i): New testcase.
* testsuite/Makefile.in: Regenerate.
* testsuite/script_test_12.t: New test linker script.
* testsuite/script_test_12i.t: New test linker script.
* testsuite/script_test_12a.c: New test source file.
* testsuite/script_test_12b.c: New test source 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 gold/15370] linker script does not group sections correctly when building ppc64 Linux kernel

2015-06-03 Thread anton at samba dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=15370

--- Comment #4 from Anton Blanchard anton at samba dot org ---
Thanks Cary, with your fix I was able to boot a ppc64el kernel built with gold.

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