[Bug gas/14480] PDP11 gas generates invalid code for deferred indirect JSR with 0 index

2018-07-19 Thread cptjustice at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=14480

--- Comment #5 from James Patrick Conlon  ---
Confirming that this bug still exists in as 2.31.51.20180719.

Attached is a slightly modified version of Jordi's dic.s called dic-mod.s.  The
output of pdp11-aout-as -a dic-mod.s is:
GAS LISTING /home/cptnapalm/Downloads/dic-mod.s page 1

   1  C0151200 start:mov$ind,r0
   2 0004 C809 jsr  pc,(r0)
   3 0006 C809 jsr  pc,@(r0)
   4 0008 F809 jsr  pc,@0(r0)
   5 000c F8090200 jsr  pc,@2(r0)
   6 0010  halt
   7  
   8  
   9 0012 1600 ind:.WORDdest
  10 0014 1800 .WORDdest2
  11  
  12 0016 8700 dest:rtspc
  13  
  14 0018 8700 dest2:rtspc
  15  
  16  .END

GAS LISTING /home/cptnapalm/Downloads/dic-mod.s page 2


DEFINED SYMBOLS
/home/cptnapalm/Downloads/dic-mod.s:1  .text: start
/home/cptnapalm/Downloads/dic-mod.s:9  .text:0012 ind
/home/cptnapalm/Downloads/dic-mod.s:12 .text:0016 dest
/home/cptnapalm/Downloads/dic-mod.s:14 .text:0018 dest2

NO UNDEFINED SYMBOLS


As can be seen, jsr pc,@(r0) assembles the same as jsr pc,(r0), which it
shouldn't do.  I created a patch, which is attached, that solves this problem. 
As adding a '0' would create a new string and since it already knows that it's
deferred, I just replace the '@' with a '0' before sending it along.

The new output:
GAS LISTING /home/cptnapalm/Downloads/dic-mod.s page 1


   1  C0151400  start:  mov $ind,r0
   2 0004 C809  jsr pc,(r0)
   3 0006 F809  jsr pc,@(r0)
   4 000a F809  jsr pc,@0(r0)
   5 000e F8090200  jsr pc,@2(r0)
   6 0012   halt
   7
   8
   9 0014 1800  ind:.WORD   dest
  10 0016 1A00  .WORD   dest2
  11
  12 0018 8700  dest:   rts pc
  13
  14 001a 8700  dest2:  rts pc
  15
  16.END

GAS LISTING /home/cptnapalm/Downloads/dic-mod.s page 2


DEFINED SYMBOLS
/home/cptnapalm/Downloads/dic-mod.s:1  .text: start
/home/cptnapalm/Downloads/dic-mod.s:9  .text:0014 ind
/home/cptnapalm/Downloads/dic-mod.s:12 .text:0018 dest
/home/cptnapalm/Downloads/dic-mod.s:14 .text:001a dest2

NO UNDEFINED SYMBOLS


It now does the right thing in this case.

-- 
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/14480] PDP11 gas generates invalid code for deferred indirect JSR with 0 index

2018-07-19 Thread cptjustice at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=14480

--- Comment #4 from James Patrick Conlon  ---
Created attachment 11147
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11147=edit
Patch which solves this specific problem

-- 
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/14480] PDP11 gas generates invalid code for deferred indirect JSR with 0 index

2018-07-19 Thread cptjustice at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=14480

James Patrick Conlon  changed:

   What|Removed |Added

 CC||cptjustice at gmail dot com

--- Comment #3 from James Patrick Conlon  ---
Created attachment 11146
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11146=edit
Modified Assembly Program illustrating the problem

Added a line to show that the current behavior does produce output matching
something it shouldn't match.

-- 
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/23428] ld does not put program headers in a code-only load segment

2018-07-19 Thread bugdal at aerifal dot cx
https://sourceware.org/bugzilla/show_bug.cgi?id=23428

--- Comment #3 from Rich Felker  ---
I don't object to the patch as-is, but wouldn't it make more sense to make the
program headers a first-class section with attribute alloc, so that they're
semantically forced to be visible at runtime rather than just happening to fall
into a load segment that exists due to other sections? This fix would be
target-agnostic and would prevent the issue from ever arising for other
targets.

-- 
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/23428] ld does not put program headers in a code-only load segment

2018-07-19 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23428

--- Comment #2 from H.J. Lu  ---
A patch is posted at

https://sourceware.org/ml/binutils/2018-07/msg00321.html

-- 
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/23428] ld does not put program headers in a code-only load segment

2018-07-19 Thread fweimer at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23428

Florian Weimer  changed:

   What|Removed |Added

 CC||fweimer at redhat 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 ld/23078] Weak alias to a weak symbol is not resolved correctly.

2018-07-19 Thread pftbest at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23078

--- Comment #2 from Vadzim Dambrouski  ---
Hello Nick,

Thank you for suggestion, I've tried weakref, and does help with the case I
have posted above, but it still doesn't do exactly what I need.

Here is updated code:

// main.c ---

void _start() {}

void DEFAULT_HANDLER() {
  *((int*)0x10) = 5;
}

void BUS_FAULT() {
  *((int*)0x10) = 7;
}

// foo.c 

__attribute__((weak)) void DEFAULT_HANDLER() {
*((int*)0x10) = 1;
}

static __attribute__((weakref ("DEFAULT_HANDLER"))) void HARD_FAULT();
static __attribute__((weakref ("DEFAULT_HANDLER"))) void BUS_FAULT();

void (*VECTORS[])() = {
HARD_FAULT,
BUS_FAULT,
};

// --

In this new example I have created a strong symbols for both default handler
and for one of specific handlers. I expect that VECTORS table would contain
pointers to functions 5 and 7, but in practice it contains pointers to 5 and 5.
This is not what I need, unfortunately.

Regards,
Vadzim

-- 
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/23431] New: Messages composed from pieces can't be properly translated

2018-07-19 Thread goeran at uddeborg dot se
https://sourceware.org/bugzilla/show_bug.cgi?id=23431

Bug ID: 23431
   Summary: Messages composed from pieces can't be properly
translated
   Product: binutils
   Version: 2.31
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: goeran at uddeborg dot se
  Target Milestone: ---

In dwarf.c, in the function display_formatted_table, messages are composed from
parts.  The argument "what", "File name" or "Directory" is placed in like

   The %s Table is empty

and

   Corrupt %s entries list

Messages like these are hard or impossible to translate correctly.  In Swedish,
for example, attributive nouns should be written as one word with the main
noun. It can passably be translated provided the translator is aware of the
use.  (Capitalisation will still get wrong in some of the cases.)  In languages
further removed from English, I suspect it can't be done correctly at all.

These messages will have to be separated into complete messages for each case,
file name or directory, to be properly translated.

-- 
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/23430] New: Indices misspelled in three places in readelf.c

2018-07-19 Thread goeran at uddeborg dot se
https://sourceware.org/bugzilla/show_bug.cgi?id=23430

Bug ID: 23430
   Summary: Indices misspelled in three places in readelf.c
   Product: binutils
   Version: 2.31
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: goeran at uddeborg dot se
  Target Milestone: ---

In the po file most recently distributed for translation there is the word
"indicies" in three places in readelf (readelf.c:5488 readelf.c:5601
readelf.c:6846).  That should be "indices" we believe
(https://en.wiktionary.org/wiki/indices#English).

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