[Bug binutils/4791] Update to latest gnustandards (Was: etc/standards.texi: @strong{Note...} produces a spurious cross-reference in Info)

2007-08-13 Thread nickc at redhat dot com

--- Additional Comments From nickc at redhat dot com  2007-08-13 09:46 
---
I have imported the current version of the standards.texi file from the
ww.gnu.org website and checked it into the sourceware repository.

Cheers
  Nick

etc/ChangeLog
2007-08-13  Nick Clifton  <[EMAIL PROTECTED]>

* standards.texi: Import 22 July 2007 version.
* fdl.texi: Import version 1.2.
* make-stds.texi: Import 2006 version.


-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


http://sourceware.org/bugzilla/show_bug.cgi?id=4791

--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who is.


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


[Bug ld/4918] New: ___tls_get_addr call requires @PLT even without -fpic

2007-08-13 Thread hjl at lucon dot org
On Linux/x86 and Linux/x86-64, I got

[EMAIL PROTECTED] tls-5]$ cat x.c
#include 

__thread int foo __attribute__((tls_model("global-dynamic"))) = 100;

int
main ()
{
  printf ("foo: %d\n", foo);
  return 0;
}
[EMAIL PROTECTED] tls-5]$ gcc  -o x x.c
/usr/local/bin/ld: BFD (Linux/GNU Binutils) 2.18.50.0.1.20070811 assertion fail
/net/gnu-13/export/linux/src/binutils/binutils/bfd/elf64-x86-64.c:2568
[EMAIL PROTECTED] tls-5]$ ./x
foo: 100

The assert comes from

  /* GD->LE transition.
 .byte 0x66; leaq [EMAIL PROTECTED](%rip), %rdi
 .word 0x; rex64; call [EMAIL PROTECTED]
 Change it into:
 movq %fs:0, %rax
 leaq [EMAIL PROTECTED](%rax), %rax */
  BFD_ASSERT (rel->r_offset >= 4);
  for (i = 0; i < 4; i++)
BFD_ASSERT (bfd_get_8 (input_bfd,
   contents + rel->r_offset - 4 + i)   
 == tlsgd[i]);
  BFD_ASSERT (rel->r_offset + 12 <= input_section->size);
  for (i = 0; i < 4; i++)
BFD_ASSERT (bfd_get_8 (input_bfd,
   contents + rel->r_offset + 4 + i)
== tlsgd[i+4]);  BFD_ASSERT (rel
+ 1 < relend);
  BFD_ASSERT (ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PLT32);

Why is R_X86_64_PLT32 required here?

-- 
   Summary: ___tls_get_addr call requires @PLT even without -fpic
   Product: binutils
   Version: 2.19 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: hjl at lucon dot org
CC: bug-binutils at gnu dot org


http://sourceware.org/bugzilla/show_bug.cgi?id=4918

--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who is.


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


[Bug ld/4918] ___tls_get_addr call requires @PLT even without -fpic

2007-08-13 Thread hjl at lucon dot org


-- 
   What|Removed |Added

 CC||jakub at redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=4918

--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who is.


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


[Bug ld/4918] ___tls_get_addr call requires @PLT for global-dynamic even without -fpic

2007-08-13 Thread hjl at lucon dot org


-- 
   What|Removed |Added

Summary|___tls_get_addr call|___tls_get_addr call
   |requires @PLT even without -|requires @PLT for global-
   |fpic|dynamic even without -fpic


http://sourceware.org/bugzilla/show_bug.cgi?id=4918

--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who is.


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


gas: additional macro functionality (patch attached)

2007-08-13 Thread Olaf Püschel

Hi!

When I was trying to implement a direct threaded code interpreter  
(forth look alike)
with gas for the msp430 microcontroller, I missed the possibility to  
reference
a) the individual invocation count of each macro and b) the previous  
invocation

count for each macro.

Problem: I need to build a single linked list at assemble time. This  
is traditionally

done with somethink like:

.set LINK, 0

.macro  HEAD foo, bar
...
.word   LINK
.setLINK,.
.endm

This does not work with gas assembling msp430 code on a PPC Mac, because
LINK only gets resoved at relocation time, so all LINK fields are the  
same :-(


The presence of the \@ ideom hinted to me, that I could easily tweak  
gas to yield

the information I need. So I made two changes::

1) "macro_entry" gets another field "count", giving the individual  
invocation count
2) The ideoms \#, \< and \> yield the current, previous amd next  
invocation count

when used in a macro.

So I can write the linked list code like:

.macro  HEAD len,name,link,flags=0
lnk\#:  .byte   (\flags << 5) | \len
nam\@:  .ascii  "\name"
.orgnam\@ + 3   ; pad short 
names
.word   lnk\<
.endm

Tested, works :-)

I would love to see my code incorporated in the next gas release,  
since I consider
it useful not only to me. If you need to have some documentation  
writen to do this,

i'll be happy to provide it.

Attached are the diff's for macro.h and macro.c

Best regards
Olaf

--
/~\ The ASCII   | Olaf P?schel, OLMOS Technologies GmbH, Germany
\ / Ribbon Campaign | Senefelderstra?e 11, 38124 Braunschweig
  X  Against HTML| Phone: +49-531-22020-0 Fax: +49-531-22020-99
/ \ Email!  | OLMOS supports signed and/or encrypted mail.


gas-2.17_macro.c.diff
Description: Binary data


gas-2.17_macro.h.diff
Description: Binary data



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