binutils is totally broken for ia64

H . J . Lu hjl@lucon.org
Wed May 22 17:01:00 GMT 2002


On Thu, May 23, 2002 at 09:28:45AM +0930, Alan Modra wrote:
> On Wed, May 22, 2002 at 03:06:03PM -0700, Jason R Thorpe wrote:
> > On Wed, May 22, 2002 at 11:32:28AM -0700, H . J . Lu wrote:
> > 
> >  > http://sources.redhat.com/ml/binutils/2002-05/msg00222.html
> >  > 
> >  > totally breaks ia64. Please build a cross binutils to Linux/ia64 and
> >  > run "make check".
> > 
> > This broke the Alpha ELF target (gas is unable to handle building
> > libgcc), as well (I just sent a message about it).
> 
> Yuck.  ia64 is broken because HANDLE_ALIGN assumes 128 byte section
> alignment.  I'm not familiar enough with ia64 to know whether 128
> byte section alignment is really what is required.
> 
> My approach to fixing this is just going to be defining
> SUB_SEGMENT_ALIGN for ia64 and alpha to mimic the old behaviour.
> 

Here is a simple testcase. Please adjust it for your ia64/alpha changes.

Thanks.


H.J.
----
--- gas/all/align2.d.align	Wed May 22 16:44:40 2002
+++ gas/all/align2.d	Wed May 22 16:58:09 2002
@@ -0,0 +1,9 @@
+#objdump: -s -j .text
+#name: align
+
+# Test the alignment pseudo-op.
+
+.*: .*
+
+Contents of section .text:
+ 0000 ff[ 	]+.[ 	]*               
--- gas/all/align2.s.align	Wed May 22 16:44:37 2002
+++ gas/all/align2.s	Wed May 22 16:47:19 2002
@@ -0,0 +1,2 @@
+	.p2align 4,0
+	.byte 0xff
--- gas/all/gas.exp.align	Sat Apr 20 23:53:26 2002
+++ gas/all/gas.exp	Wed May 22 16:44:58 2002
@@ -107,6 +107,7 @@ case $target_triplet in {
     default {
 	run_dump_test struct
 	run_dump_test align
+	run_dump_test align2
     }
 }
 



More information about the Binutils mailing list