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]

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 	*/


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