This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

genmddeps s390 bootstrap failure


Hi,

mainline bootstrap on s390 currently fails with:

build/genmddeps ../../gcc/config/s390/s390.md > tmp-mddeps
../../gcc/config/s390/s390.md:2041: undefined attribute 'DBL<D0>' used for mode
../../gcc/config/s390/s390.md:2041: following context is `'

DBL is a macro attribute defined as:

(define_mode_attr DBL [(DI "TI") (SI "DI")])

The pattern in question is:

(define_insn "*clrmem_long"
  [(clobber (match_operand:<DBL> 0 "register_operand" "=d"))
   (set (mem:BLK (subreg:P (match_operand:<DBL> 2 "register_operand" "0") 0))
        (const_int 0))
   (use (match_dup 2))
   (use (match_operand:<DBL> 1 "register_operand" "d"))
   (clobber (reg:CC CC_REGNUM))]
  ""
  "mvcle\t%0,%1,0\;jo\t.-4"
  [(set_attr "length" "8")
   (set_attr "type" "vs")])

I think the problem lies in genmddeps. genmddeps seems to randomly complain about
uses of the DBL attribute. Always with an again randomly appended character at the
end of the macro name in the error message.

At first glance it appears like a string null termination problem so I've added:

Index: gcc/read-rtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/read-rtl.c,v
retrieving revision 1.38
diff -p -c -r1.38 read-rtl.c
*** gcc/read-rtl.c      17 May 2005 12:50:32 -0000      1.38
--- gcc/read-rtl.c      18 May 2005 08:00:47 -0000
*************** mode_attr_index (struct map_value **mode
*** 323,328 ****
--- 323,330 ----
    obstack_grow (&string_obstack, string + 1, strlen (string) - 2);
    p = (char *) obstack_finish (&string_obstack);

+   p[strlen (string) - 2] = 0;
+
    mv = XNEW (struct map_value);
    mv->number = *mode_maps == 0 ? 0 : (*mode_maps)->number + 1;
    mv->string = p;


... which takes s390 back to bootstrap land. This is probably not the proper fix
but it maybe helps debugging that issue.

Any ideas what goes wrong here?!

Bye,

-Andreas-


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