This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: IA64 assembler is broken


On Fri, Jan 06, 2006 at 12:01:09PM -0800, H. J. Lu wrote:
> On Fri, Jan 06, 2006 at 11:35:20AM -0800, H. J. Lu wrote:
> > On Fri, Jan 06, 2006 at 10:59:18AM -0800, H. J. Lu wrote:
> > > On Fri, Jan 06, 2006 at 10:08:29AM -0800, H. J. Lu wrote:
> > > > With the current gcc 3.4 and glibc 2.3 in CVS, I got
> > > > 
> > > > [hjl@gnu-12 glibc-2.3-import-3.4]$ gdb
> > > > ./build-ia64-linux/elf/ld-linux-ia64.so.2GNU gdb Red Hat Linux
> > > > (6.3.0.0-1.62rh)
> > > > Copyright 2004 Free Software Foundation, Inc.
> > > > GDB is free software, covered by the GNU General Public License, and
> > > > you are
> > > > welcome to change it and/or distribute copies of it under certain
> > > > conditions.
> > > > Type "show copying" to see the conditions.
> > > > There is absolutely no warranty for GDB.  Type "show warranty" for
> > > > details.
> > > > This GDB was configured as "ia64-redhat-linux-gnu"...Using host
> > > > libthread_db library "/lib/tls/libthread_db.so.1".
> > > > 
> > > > (gdb) r
> > > > Starting program:
> > > > /export/build/gnu/glibc-2.3-import-3.4/build-ia64-linux/elf/ld-linux-ia64.so.2
> > > > 
> > > > Program received signal SIGSEGV, Segmentation fault.
> > > > 0x2000000000002f91 in _dl_start (arg=0x60000fffffff98a0) at rtld.c:260
> > > > 260           HP_TIMING_DIFF_INIT ();
> > > > (gdb)
> > > > 
> > > 
> > > It looks like a binutils issue. I am investigating it now.
> > > 
> > 
> > I have identified that
> > 
> > http://sourceware.org/ml/binutils/2005-12/msg00001.html
> > 
> > breaks building glibc 2.3 in CVS with gcc 3.4 in CVS. Jan, could you
> > please look into it?
> 
> I opened a bug report:
> 
> http://sources.redhat.com/bugzilla/show_bug.cgi?id=2117
> 
> I will revert the change if it isn't fixed by next Monday.
> 
> 

Here is a patch to add a testcase for this bug.


H.J.
----
2006-01-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/2117
	* gas/ia64/ia64.exp: Add ltoff22x-2.
	* gas/ia64/ltoff22x-2.d: New file.
	* gas/ia64/ltoff22x-2.s: Likewise.

--- gas/testsuite/gas/ia64/ia64.exp.equ	2005-10-24 08:48:40.000000000 -0700
+++ gas/testsuite/gas/ia64/ia64.exp	2006-01-06 12:19:47.000000000 -0800
@@ -46,6 +46,7 @@ if [istarget "ia64-*"] then {
     run_dump_test "ldxmov-1"
     run_list_test "ldxmov-2" ""
     run_dump_test "ltoff22x-1"
+    run_dump_test "ltoff22x-2"
 
     run_dump_test "nostkreg"
     run_list_test "invalid-ar" ""
--- gas/testsuite/gas/ia64/ltoff22x-2.d.equ	2006-01-06 12:12:42.000000000 -0800
+++ gas/testsuite/gas/ia64/ltoff22x-2.d	2006-01-06 12:14:34.000000000 -0800
@@ -0,0 +1,11 @@
+# objdump: -r
+# name: ia64 ltoff22x-2
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET[ 	]+TYPE[ 	]+VALUE 
+0+000 LTOFF22X          foo
+0+010 LDXMOV            foo
+
+
--- gas/testsuite/gas/ia64/ltoff22x-2.s.equ	2006-01-06 12:12:42.000000000 -0800
+++ gas/testsuite/gas/ia64/ltoff22x-2.s	2006-01-06 12:13:45.000000000 -0800
@@ -0,0 +1,13 @@
+	.global foo#
+	foo# = bar#
+	.global bar#
+	.data
+bar:
+	data4 0
+	.text
+	addl	r3 = @ltoffx(foo#), gp
+	nop.i	0
+	nop.i	0
+	(p6) ld8.mov r3 = [r3], foo#
+	nop.i	0
+	nop.i	0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]