This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 'make bootstrap' failure on m88k-dg-dgux5.4R3.10
> On Fri, 14 November 1997, 07:49:07, jepler@inetnebr.com wrote:
> Thanks for the patch. This gets things further, but I still get an
> error on tree.o:
[snip]
> and the rest are similar, see the attached (compressed) tree.i file.
>
On Sat, Nov 15, 1997 at 02:01:02PM +0100, Manfred Hollstein wrote:
> Looking at your tree.i attachment, there must be something seriously
> wrong with your configuration: #include <stdarg.h> from tree.c uses
> /usr/include/stdarg.h instead of the fixed one from gcc/include! How
> did you build egcs upto this error?
Starting from egcs-{core,g++}-971105, I applied the earlier dgux patch
and did the following (I'm doing it again just to make sure the same
things happen):
% cd egcs-971105
% make distclean
% ./configure
% make bootstrap
[wait wait wait -- same error, eventually]
>
> Jeff, can you please send the following:
>
> - directory listing of the fixed include dir (i.e. ls -lR gcc/include)
> - contents of:
> 1. gcc/config.log
> 2. gcc/config.h
> 3. gcc/config2.h
These files should be attached to the message.
The directory looks like this:
% ls -lR gcc/include
total 31
-rw-r--r-- 1 jepler general 495 Nov 15 14:58 README
-rw-r--r-- 1 jepler general 548 Nov 15 14:58 _int_varargs.h
-rw-r--r-- 1 jepler general 772 Nov 15 14:58 exception
-rw-r--r-- 1 jepler general 3304 Nov 15 15:02 float.h
-rw-r--r-- 1 jepler general 3207 Nov 15 14:58 limits.h
-rw-r--r-- 1 jepler general 1168 Nov 15 14:58 new
-rw-r--r-- 1 jepler general 174 Nov 15 14:58 new.h
-rw-r--r-- 1 jepler general 330 Nov 15 14:58 syslimits.h
-rw-r--r-- 1 jepler general 1244 Nov 15 14:58 typeinfo
> Another question, what actually is `m88k-dg-dgux5.4R3.10'? Is it UNIX
> Sys V R3 or R4?
It's supposed to be "posix"(ish), and variors #defines seem to be able to
select R3 or R4 behavior. The default seems to be R4ish behavior,
looking at /usr/include/sys/_int_features.h.
> Having that information, we can look further.
Well, looks like no stdarg.h is built ... For grins, I'll include a
copy of the /usr/include/stdarg.h from the current system.
Jeff
--
\/ jepler@inetnebr.com http://grail.cnri.reston.va.us/grail/ (0|1(01*0)*1)+
The primary requisite for any new tax law is for it to exempt enough
voters to win the next election.
gcc-dgux-files.tar.gz
/**********************************************************
* Copyright (C) Data General Corporation, 1984 - 1992 *
* All Rights Reserved. *
* Licensed Material-Property of Data General Corporation. *
* This software is made available solely pursuant to the *
* terms of a DGC license agreement which governs its use. *
**********************************************************/
/* <@(#) stdarg.h,v 6.4.1.1> */
/************************************************************************/
/* STDARG.H - Deal with each compiler separately. */
/************************************************************************/
#ifndef _STDARG_H /* Prevent multiple inclusions of this file */
#define _STDARG_H
#ifndef _VARARGS_H /* SYSV3 sources expect same definitions */
/* in varargs.h */
#ifndef ___int_features_h
#include <sys/_int_features.h>
#endif /* #ifndef ___int_features_h */
#ifndef __INT_VARARGS_H
#include <_int_varargs.h>
#endif /* #ifndef _INT_VARARGS_H */
#ifdef _TARGETTING_M88KBCS_OR_M88KOCS_OR_DGUX
#ifdef _USING_ANSI_C_OR_POSIX_OR_XPG3_OR_SYSV3_OR_BSD_OR_DGUX
/************************************************************************/
/* GNU section */
/************************************************************************/
#ifndef _USING_GNUC_OR_GNUG
#ifdef __GNUC__
#define _USING_GNUC_OR_GNUG
#else /* #ifdef __GNUC__ */
#ifdef __GNUG__
#define _USING_GNUC_OR_GNUG
#endif /* #ifdef __GNUG__ */
#endif /* #ifdef __GNUC__ */
#endif /* #ifdef _USING_GNUC_OR_GNUG */
#ifdef _USING_GNUC_OR_GNUG
#if __CLASSIFY_TYPE__ > 1
#define va_start(__p,__parmN) ((__p) = *(va_list *)__builtin_saveregs())
#else
#define va_start(__p,__parmN) \
(((__p).__va_reg = (int *) __builtin_saveregs2(0)), \
((__p).__va_stk = (int *) __builtin_argptr()), \
((__p).__va_arg = (__builtin_argsize() + 3) / 4))
#endif
#define va_end(__p)
#define va_arg(__p,__t) (\
(__p).__va_arg = (((__p).__va_arg + (1 << (__alignof__(__t) >> 3)) - 1) \
& ~((1 << (__alignof__(__t) >> 3)) - 1)) + __va_size(__t), \
*((__t *) ((__va_reg_p(__t) && (__p).__va_arg < 8 + __va_size(__t) \
? (__p).__va_reg : (__p).__va_stk) \
+ ((__p).__va_arg - __va_size(__t)))))
/************************************************************************/
/* Green Hills - 88k */
/************************************************************************/
#else /* #ifdef _USING_GNUC_OR_GNUG */
#ifdef __ghs__
#define va_start(__ap,__va_alist) \
((__ap).__va_arg= (int *)&__va_ansiarg-__va_stkarg,\
(__ap).__va_stk= (int*)(((char*)&__va_ansiarg)-(__ap).__va_arg*4),\
(__ap).__va_reg = (int*)__va_intreg)
#define va_arg(__ap,__type) ((__ap).__va_arg += \
((__ap).__va_arg & (__va_align(__type)==8))+sizeof(__type)/4,\
((__type *)((__va_regtyp(__type)&&(__ap).__va_arg<=8 \
? (__ap).__va_reg:(__ap).__va_stk)+(__ap).__va_arg))[-1])
#define va_end(list)
/************************************************************************/
/* Diab - 88k */
/************************************************************************/
#else /* #if defined(__ghs__) */
#if defined(__DCC__)
extern int *__mem_ptr(), *__reg_ptr();
#define va_start(list,parmN) {\
(list).mem_ptr = __mem_ptr();\
(list).reg_ptr = __reg_ptr();\
(list).next_arg = (int *) ((char *)&parmN + sizeof(parmN)) - (list).mem_ptr;\
}
#define va_end(list)
#define va_arg(list, mode) (\
sizeof(mode,2) <= 3 ? ( /* char-short */\
(list).next_arg < 8 ? (\
*(mode*)((char*)(&(list).reg_ptr[++(list).next_arg])-sizeof(mode))\
) : (\
*(mode*)((char*)(&(list).mem_ptr[++(list).next_arg])-sizeof(mode))\
)\
) : sizeof(mode) == 4 && sizeof(mode,1) == 4 ? (/* 4 byte types */\
(list).next_arg < 8 ? (\
*(mode*)&(list).reg_ptr[(list).next_arg++]\
) : (\
*(mode*)&(list).mem_ptr[(list).next_arg++]\
)\
) : sizeof(mode,2) == 9 ? ( /* double */\
((list).next_arg & 1) && (list).next_arg++,\
(list).next_arg < 8 ? (\
(list).next_arg += 2,\
*(mode*)&(list).reg_ptr[(list).next_arg-2]\
) : (\
(list).next_arg += 2,\
*(mode*)&(list).mem_ptr[(list).next_arg-2]\
)\
) : ( /* structs */\
(void)(sizeof(mode,1) == 8 && ((list).next_arg & 1) && (list).next_arg++),\
(list).next_arg += (sizeof(mode)+3)>>2,\
*(mode*)&(list).mem_ptr[(list).next_arg-((sizeof(mode)+3)>>2)]\
)\
)
/************************************************************************/
/* Not GNU, Greenhills, or Diab, abandon all hope. */
/************************************************************************/
#else /* #ifdef __DCC__ */
/* stdarg.h -- Unknown compiler */
#endif /* #ifdef __DCC__ */
#endif /* #ifdef __ghs__ */
#endif /* #ifdef _USING_GNUC_OR_GNUG */
#endif /* #ifdef _USING_ANSI_C_OR_POSIX_OR_XPG3_OR_SYSV3_OR_BSD_OR_DGUX */
#endif /* #ifdef _TARGETTING_M88KBCS_OR_M88KOCS_OR_DGUX */
#endif /* #ifndef _VARARGS_H */
#endif /* #ifndef _STDARG_H */