Solaris 8/SPARC libgcj bootstrap broken by recent fix-header change
Rainer Orth
ro@TechFak.Uni-Bielefeld.DE
Tue Apr 1 22:48:00 GMT 2003
Neil Booth writes:
> Does it work if fix-header doesn't pass any -I options? As I mention
> in the log above, they were being passed on the command line and
> ignored. I "fixed" that with my patch. It's the only thing I can see
> of any relevance.
>
> Does this patch fix it? If not, I'd appreciate if you could investigate
> exactly why it is fixing more than before - the decisions about what to
> fix aren't directly affected by my patch, and I don't have a system
> that even uses fix-header.
Unfortunately, the patch doesn't help at all. I've instrumented
fix-header.c (recognized_function) to print the function declarations
scan-decls.c (scan_decls) finds: the old version (before the patch in
question) finds a long list of declarations, kill among them:
% ./fix-header signal.h include/signal.h include/signal.h -D__STDC__=0 -D__cplusplus -Iinclude -I/usr/include
recognized_function (name = adjtime line = 2238 kind = F have_arg_list = 1)
recognized_function (name = getitimer line = 2249 kind = F have_arg_list = 1)
recognized_function (name = utimes line = 2250 kind = F have_arg_list = 1)
recognized_function (name = setitimer line = 2254 kind = F have_arg_list = 1)
recognized_function (name = settimeofday line = 2287 kind = F have_arg_list = 1)
recognized_function (name = gethrtime line = 2289 kind = F have_arg_list = 1)
recognized_function (name = gethrvtime line = 2290 kind = F have_arg_list = 1)
recognized_function (name = gettimeofday line = 2307 kind = F have_arg_list = 1)
recognized_function (name = asctime line = 2432 kind = F have_arg_list = 1)
recognized_function (name = clock line = 2433 kind = F have_arg_list = 1)
recognized_function (name = ctime line = 2434 kind = F have_arg_list = 1)
recognized_function (name = difftime line = 2435 kind = F have_arg_list = 1)
recognized_function (name = gmtime line = 2436 kind = F have_arg_list = 1)
recognized_function (name = localtime line = 2437 kind = F have_arg_list = 1)
recognized_function (name = mktime line = 2438 kind = F have_arg_list = 1)
recognized_function (name = time line = 2439 kind = F have_arg_list = 1)
recognized_function (name = strftime line = 2440 kind = F have_arg_list = 1)
recognized_function (name = strptime line = 2511 kind = F have_arg_list = 1)
recognized_function (name = void line = 2693 kind = F have_arg_list = 1)
recognized_function (name = clock_getres line = 2699 kind = F have_arg_list = 1)
recognized_function (name = clock_gettime line = 2700 kind = F have_arg_list = 1)
recognized_function (name = clock_settime line = 2701 kind = F have_arg_list = 1)
recognized_function (name = timer_create line = 2702 kind = F have_arg_list = 1)
recognized_function (name = timer_delete line = 2703 kind = F have_arg_list = 1)
recognized_function (name = timer_getoverrun line = 2704 kind = F have_arg_list = 1)
recognized_function (name = timer_gettime line = 2705 kind = F have_arg_list = 1)
recognized_function (name = timer_settime line = 2707 kind = F have_arg_list = 1)
recognized_function (name = nanosleep line = 2708 kind = F have_arg_list = 1)
recognized_function (name = tzset line = 2713 kind = F have_arg_list = 1)
recognized_function (name = _sysconf line = 2718 kind = F have_arg_list = 1)
recognized_function (name = cftime line = 2732 kind = F have_arg_list = 1)
recognized_function (name = ascftime line = 2733 kind = F have_arg_list = 1)
recognized_function (name = getdate line = 2739 kind = F have_arg_list = 1)
recognized_function (name = sizeof line = 3079 kind = F have_arg_list = 1)
recognized_function (name = select line = 3113 kind = F have_arg_list = 1)
recognized_function (name = _sysconf line = 3525 kind = F have_arg_list = 1)
recognized_function (name = SIG_FUNC_TYP line = 3531 kind = F have_arg_list = 1)
recognized_function (name = signal line = 3586 kind = F have_arg_list = 1)
recognized_function (name = raise line = 3590 kind = F have_arg_list = 1)
recognized_function (name = sizeof line = 3945 kind = F have_arg_list = 1)
recognized_function (name = void line = 4166 kind = F have_arg_list = 1)
recognized_function (name = void line = 4255 kind = F have_arg_list = 1)
recognized_function (name = void line = 4262 kind = F have_arg_list = 1)
recognized_function (name = kill line = 4520 kind = F have_arg_list = 1)
recognized_function (name = sigaction line = 4521 kind = F have_arg_list = 1)
recognized_function (name = sigaddset line = 4523 kind = F have_arg_list = 1)
recognized_function (name = sigdelset line = 4524 kind = F have_arg_list = 1)
recognized_function (name = sigemptyset line = 4525 kind = F have_arg_list = 1)
recognized_function (name = sigfillset line = 4526 kind = F have_arg_list = 1)
recognized_function (name = sigismember line = 4527 kind = F have_arg_list = 1)
recognized_function (name = sigpending line = 4529 kind = F have_arg_list = 1)
recognized_function (name = sigprocmask line = 4530 kind = F have_arg_list = 1)
recognized_function (name = sigsuspend line = 4531 kind = F have_arg_list = 1)
recognized_function (name = gsignal line = 4672 kind = F have_arg_list = 1)
recognized_function (name = int line = 4673 kind = F have_arg_list = 1)
recognized_function (name = sigsend line = 4674 kind = F have_arg_list = 1)
recognized_function (name = sigsendset line = 4675 kind = F have_arg_list = 1)
recognized_function (name = sig2str line = 4676 kind = F have_arg_list = 1)
recognized_function (name = str2sig line = 4677 kind = F have_arg_list = 1)
recognized_function (name = void line = 4684 kind = F have_arg_list = 1)
recognized_function (name = killpg line = 4685 kind = F have_arg_list = 1)
recognized_function (name = siginterrupt line = 4686 kind = F have_arg_list = 1)
recognized_function (name = sigaltstack line = 4687 kind = F have_arg_list = 1)
recognized_function (name = sighold line = 4688 kind = F have_arg_list = 1)
recognized_function (name = sigignore line = 4689 kind = F have_arg_list = 1)
recognized_function (name = sigpause line = 4690 kind = F have_arg_list = 1)
recognized_function (name = sigrelse line = 4691 kind = F have_arg_list = 1)
recognized_function (name = void line = 4692 kind = F have_arg_list = 1)
recognized_function (name = sigstack line = 4693 kind = F have_arg_list = 1)
recognized_function (name = pthread_kill line = 4701 kind = F have_arg_list = 1)
recognized_function (name = pthread_sigmask line = 4702 kind = F have_arg_list = 1)
recognized_function (name = sigwaitinfo line = 4703 kind = F have_arg_list = 1)
recognized_function (name = sigtimedwait line = 4704 kind = F have_arg_list = 1)
recognized_function (name = sigqueue line = 4705 kind = F have_arg_list = 1)
recognized_function (name = sigwait line = 4804 kind = F have_arg_list = 1)
signal.h: OK, nothing needs to be done.
The current version only finds four function declarations instead, with
kill missing, so the broken prototype is inserted.
% ./fix-header signal.h include/signal.h include/signal.h -D__STDC__=0 -D__cplusplus -Iinclude -I/usr/include
recognized_function (name = _sysconf line = 974 kind = F have_arg_list = 1)
recognized_function (name = SIG_FUNC_TYP line = 980 kind = F have_arg_list = 1)
recognized_function (name = signal line = 1035 kind = F have_arg_list = 1)
recognized_function (name = raise line = 1039 kind = F have_arg_list = 1)
signal.h: 1 missing function declarations.
I have no idea yet what causes this difference and considerable differences
in line numbers for the declarations that are found in both versions (and
need to go to bed now).
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
More information about the Gcc-bugs
mailing list