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