make bootstrap failure in libjava
Tom Tromey
tromey@redhat.com
Sat Apr 14 18:02:00 GMT 2001
>>>>> "Robert" == Robert Collins <robert.collins@itdomain.com.au> writes:
Robert> knowing where to look saves a heap of time. I'll sumbit a
Robert> patch, but as I know nothing about gcc's innards, you'll
Robert> probably just want to use it as a list of the strcmps that
Robert> need changing. I presume that in one of target files there is
Robert> a #define for a filename compare function - do you know what
Robert> that define is and I'll use it instead..
Actually I don't think there is such a define. Maybe there is and I
simply don't know what it is. Grepping for `strcase' didn't turn up
anything very likely :-(
There is some useful-looking code in protoize.c:
/* Macro to see if the path elements match. */
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
#define IS_SAME_PATH_CHAR(a,b) (TOUPPER (a) == TOUPPER (b))
#else
#define IS_SAME_PATH_CHAR(a,b) ((a) == (b))
#endif
/* Macro to see if the paths match. */
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
#define IS_SAME_PATH(a,b) (strcasecmp (a, b) == 0)
#else
#define IS_SAME_PATH(a,b) (strcmp (a, b) == 0)
#endif
I think using this would be appropriate. I have no idea if this code
works or if it has rotted (I don't think protoize is really
maintained).
I recommend finding the existing java PR that talks about this. In it
I pointed out a number of places that need changing. Grepping in
gcc/java for `strn?cmp' will get good results though; it is usually
easy to tell which invocations need to be changed.
I think you can write a patch that would be suitable for inclusion. I
doubt this change will require real knowledge of any gcc internals.
Good luck, and thanks for looking into this. Unfortunately -- as you
probably already know -- it is unlikely that this is the only issue
preventing gcj from working on cygwin.
Tom
More information about the Java
mailing list