Upgrade to 19990117. Fix a few details for integrating pa & alpha.

First shot at mips.
This commit is contained in:
espie 1999-01-18 10:23:25 +00:00
parent 5c0f832830
commit ec4539d95a
20 changed files with 304 additions and 102 deletions

View File

@ -3,7 +3,7 @@
# Date created: 25 sep 98
# Whom: Marc Espie
#
# $OpenBSD: Makefile,v 1.19 1999/01/13 13:58:45 espie Exp $
# $OpenBSD: Makefile,v 1.20 1999/01/18 10:23:25 espie Exp $
#
# This is a configuration file for egcs, snapshot flavor
# PLEASE use the regular egcs-stable for serious work, resort to this one
@ -23,7 +23,7 @@ MIRROR_DISTFILE=no
# Jason L.Wright & Marco S.Hyman for sparc,
# Michael Shalayeff for hppa,
# Wim Van Deputte for alpha.
ONLY_FOR_ARCHS = i386 sparc m68k alpha pa
ONLY_FOR_ARCHS = i386 sparc m68k alpha pa mips
# user configuration section
@ -36,7 +36,7 @@ ONLY_FOR_ARCHS = i386 sparc m68k alpha pa
MAKE_TESTS=yes
MAKE_GXX=yes
MAKE_FORTRAN=yes
#MAKE_CHILL=yes
MAKE_CHILL=yes
MAKE_OBJC=yes
MAKE_JAVA=yes
@ -57,7 +57,7 @@ LATEST_DATE=1999-01-12
# You also may have to remove/add some patches, as these things ARE
# usually passed along to the egcs ml.
#NEXT_DATE=1998-12-20
NEXT_DATE=1999-01-17
#PATCH_DEBUG=yes
LATEST != echo ${LATEST_DATE} | sed -e s/-//g;

View File

@ -1,4 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.2 1999/01/11 21:23:25 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.3 1999/01/18 10:23:25 espie Exp $ */
/* vi:ts=8:
*/
@ -39,6 +39,15 @@
/* We don't have an init section yet */
#undef HAS_INIT_SECTION
/* collect2 support (Macros for initialization)
* -------------------------------------------- */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will
default to using nm. */
#undef OBJECT_FORMAT_COFF
#undef EXTENDED_COFF
/* taken from alpha/osf.h. This used to be common to all alpha
* configurations, but elf has departed from it.
* Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded.

View File

@ -0,0 +1,2 @@
#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN
#include <mips/openbsd.h>

View File

@ -0,0 +1,88 @@
/* GCC configuration for OpenBSD Mips ABI32 */
/* $OpenBSD: openbsd.h,v 1.1 1999/01/18 10:23:26 espie Exp $ */
/* Default mips is little endian, unless otherwise specified */
#define OBJECT_FORMAT_ELF
#include <mips/mips.h>
/* Get generic openbsd definitions */
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_OBJECT_NAME
#include <openbsd.h>
/* run-time target specifications */
#define CPP_PREDEFINES "-DMIPSEL -D_MIPSEL -DSYSTYPE_BSD \
-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
-D__unix__ -D__OpenBSD__ -D__mips__ \
-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)"
/* layout of source language data types
* ------------------------------------ */
/* this must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Controlling the compilation driver
* ---------------------------------- */
/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
-static, -assert, and -nostdlib. Dynamic loader control.
XXX Why don't we offer -R support ? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
%{bestGnum} %{shared} %{non_shared} \
%{call_shared} %{no_archive} %{exact_version} \
%{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
%{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
/* GAS needs to know this */
#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC} %|"
/* Some comment say that this is needed for ELF */
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
/* Some comment say that we need to redefine this for ELF */
#define LOCAL_LABEL_PREFIX "."
/* -G is incompatible with -KPIC which is the default, so only allow objects
in the small data section if the user explicitly asks for it. */
#undef MIPS_DEFAULT_GVALUE
#define MIPS_DEFAULT_GVALUE 0
/* Since gas and gld are standard on OpenBSD, we don't need these. */
#undef ASM_FINAL_SPEC
#undef STARTFILE_SPEC
/*
A C statement to output something to the assembler file to switch to section
NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or
NULL_TREE. Some target formats do not support arbitrary sections. Do not
define this macro in such cases. mips.h doesn't define this, do it here.
*/
#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \
do { \
extern FILE *asm_out_text_file; \
if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \
else \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/01/13 13:58:46 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.7 1999/01/18 10:23:25 espie Exp $ */
/* vi:ts=8:
*/
@ -52,7 +52,7 @@
still uses a special flavor of gas that needs to be told when generating
pic code. */
#undef ASM_SPEC
#define ASM_SPEC "%| %{fpic:-k} %{fPIC:-k -K}"
#define ASM_SPEC "%{fpic:-k} %{fPIC:-k -K} %|"
#else
/* Since we use gas, stdin -> - is a good idea, but we don't want to
override native specs just for that. */
@ -106,7 +106,7 @@
/* Support of shared libraries, mostly imported from svr4.h through netbsd. */
/* Two differences from svr4.h:
- we use .- _func instead of a local label,
- we use . - _func instead of a local label,
- we put extra spaces in expressions such as
.type _func , @function
This is more readable for a human being and confuses c++filt less.
@ -148,13 +148,14 @@
entries under OpenBSD. These macros also have to output the starting
labels for the relevant functions/objects. */
#ifndef OBSD_HAS_DECLARE_FUNCTION_NAME
/* Extra assembler code needed to declare a function properly.
Some assemblers may also need to also have something extra said
about the function's return value. We allow for that here. */
#undef ASM_DECLARE_FUNCTION_NAME
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
do { \
fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \
fprintf (FILE, "\t%s\t", TYPE_ASM_OP); \
assemble_name (FILE, NAME); \
fputs (" , ", FILE); \
fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
@ -162,6 +163,7 @@
ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \
ASM_OUTPUT_LABEL(FILE, NAME); \
} while (0)
#endif
/* Declare the size of a function. */
#undef ASM_DECLARE_FUNCTION_SIZE
@ -169,14 +171,15 @@
do { \
if (!flag_inhibit_size_directive) \
{ \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, (FNAME)); \
fputs(" , .- ", FILE); \
fputs(" , . - ", FILE); \
assemble_name (FILE, (FNAME)); \
putc ('\n', FILE); \
} \
} while (0)
#ifndef OBSD_HAS_DECLARE_OBJECT_NAME
/* Extra assembler code needed to declare an object properly. */
#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
@ -190,12 +193,13 @@
if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
{ \
size_directive_output = 1; \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, NAME); \
fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
} \
ASM_OUTPUT_LABEL(FILE, NAME); \
} while (0)
#endif
/* Output the size directive for a decl in rest_of_decl_compilation
in the case where we did not do so before the initializer.
@ -212,7 +216,7 @@ do { \
&& !size_directive_output) \
{ \
size_directive_output = 1; \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, name); \
fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
} \

View File

@ -1,17 +1,17 @@
/* We settle for little endian for now */
#define TARGET_ENDIAN_DEFAULT 0
#include <pa/pa.h>
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#include <openbsd.h>
/* run-time target specifications */
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) -Asystem(OpenBSD) -Amachine(hppa) -D__OpenBSD__ -D__hppa__ -D__hppa"
#undef OVERRIDE_OPTIONS
#define OVERRIDE_OPTIONS \
{ \
override_options(); \
if (! flag_pic) target_flags |= TARGET_NONPIC_FLAGS; \
override_options(); \
if (! flag_pic) \
/* portable-runtime + fast-indirect-calls */ \
target_flags |= 0x440; \
}
/* XXX why doesn't PA support -R like everyone ??? */
@ -46,11 +46,11 @@
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
do { fputs ("\t.SPACE $PRIVATE$\n\
\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\
\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\
\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24\n\
\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,ZERO,SORT=80\n\
\t.SPACE $TEXT$\n\
\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\
\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\
\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=0x2c\n\
\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY\n\
\t.IMPORT $global$,DATA\n", FILE);\
if (flag_pic || !TARGET_FAST_INDIRECT_CALLS)\
fputs ("\t.IMPORT $$dyncall, MILLICODE\n", FILE);\

View File

@ -2,6 +2,7 @@ MD5 (egcs/egcs-19981213-19981220.diff.gz) = 0277da152b5791433d26165de67f6ec0
MD5 (egcs/egcs-19981213.tar.gz) = d858d60706697e087413320a24343439
MD5 (egcs/egcs-19981220.tar.gz) = a32b6af1d68cdadb457dc77a42584225
MD5 (egcs/egcs-19990103.tar.gz) = 07f781c833e7c2bc9be558e9a1ca8485
MD5 (egcs/egcs-19990112-19990117.diff.gz) = 9f3b8ce3ac90f8534046c0a3db82ce9d
MD5 (egcs/egcs-19990112.tar.gz) = 599d80b9ea8b88e05fbec21740e27670
MD5 (egcs/egcs-chill-19990103.tar.gz) = d9798f88229586a6a8cee4033d4a5664
MD5 (egcs/egcs-chill-19990112.tar.gz) = d2d59fca0324213230e4f62e747492cc

View File

@ -26,6 +26,12 @@ FAIL: gcc.c-torture/compile/981223-1.c, -O2
FAIL: gcc.c-torture/compile/981223-1.c, -O2 -fomit-frame-pointer -finline-functions
FAIL: gcc.c-torture/compile/981223-1.c, -O2 -g
FAIL: gcc.c-torture/compile/981223-1.c, -Os
FAIL: gcc.c-torture/compile/990117-2.c, -O0
FAIL: gcc.c-torture/compile/990117-2.c, -O1
FAIL: gcc.c-torture/compile/990117-2.c, -O2
FAIL: gcc.c-torture/compile/990117-2.c, -O2 -fomit-frame-pointer -finline-functions
FAIL: gcc.c-torture/compile/990117-2.c, -O2 -g
FAIL: gcc.c-torture/compile/990117-2.c, -Os
FAIL: gcc.c-torture/execute/980526-1.c execution, -O2 -fomit-frame-pointer -finline-functions
FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O1
FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2
@ -51,11 +57,11 @@ FAIL: gcc.dg/980414-1.c (test for excess errors)
=== gcc Summary ===
# of expected passes 7816
# of unexpected failures 28
# of expected passes 7864
# of unexpected failures 34
# of expected failures 13
# of unsupported tests 12
/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental)
/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
=== g++ tests ===
@ -81,11 +87,11 @@ FAIL: g++.pt/instantiate4.C (test for excess errors)
=== g++ Summary ===
# of expected passes 4775
# of expected passes 4784
# of unexpected failures 17
# of expected failures 88
# of expected failures 89
# of untested testcases 7
/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/testsuite/../xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental)
/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/testsuite/../xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
=== g77 tests ===
@ -94,7 +100,7 @@ Running target unix
=== g77 Summary ===
# of expected passes 93
# of expected passes 100
# of unresolved testcases 186
=== objc tests ===
@ -104,4 +110,8 @@ Running target unix
=== objc Summary ===
# of expected passes 38
/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental)
/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
Compiler version: egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
Platform: i386-unknown-openbsd2.4.

View File

@ -34,12 +34,13 @@
alpha*-dec-osf*)
if test x$stabs = xyes
@@ -771,6 +785,9 @@
@@ -771,6 +785,10 @@
h8300-*-*)
float_format=i32
;;
+ hppa*-*-openbsd*)
+ target_cpu_default=1
+ tmake_file=pa/t-openbsd
+ ;;
hppa1.1-*-pro*)
tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
@ -79,14 +80,16 @@
m68k-*-sysv3*) # Motorola m68k's running system V.3
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
@@ -2299,6 +2323,12 @@
@@ -2299,6 +2323,14 @@
gas=yes
fixincludes=Makefile.in
;;
+ mips*el-*-openbsd*) # mips le
+ tm_file=mips/openbsd-le.h
+ mips*el-*-openbsd*) # mips little endian
+ target_cpu_default="MASK_GAS|MASK_ABICALLS"
+ tm_file=mips/openbsd.h
+ ;;
+ mips*-*-openbsd*) # mips big endian
+ target_cpu_default="MASK_GAS|MASK_ABICALLS"
+ tm_file=mips/openbsd-be.h
+ ;;
mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.

View File

@ -1,16 +0,0 @@
--- gcc/gcc.c.orig Tue Jan 12 00:49:22 1999
+++ gcc/gcc.c Tue Jan 12 00:50:25 1999
@@ -3630,12 +3630,12 @@
if (p[0] == '%' && p[1] == 'O')
{
+ p += 2;
/* We don't support extra suffix characters after %O. */
if (*p == '.' || ISALPHA ((unsigned char)*p))
abort ();
suffix = OBJECT_SUFFIX;
suffix_length = strlen (OBJECT_SUFFIX);
- p += 2;
}
else
{

View File

@ -3,7 +3,7 @@
# Date created: 25 sep 98
# Whom: Marc Espie
#
# $OpenBSD: Makefile,v 1.19 1999/01/13 13:58:45 espie Exp $
# $OpenBSD: Makefile,v 1.20 1999/01/18 10:23:25 espie Exp $
#
# This is a configuration file for egcs, snapshot flavor
# PLEASE use the regular egcs-stable for serious work, resort to this one
@ -23,7 +23,7 @@ MIRROR_DISTFILE=no
# Jason L.Wright & Marco S.Hyman for sparc,
# Michael Shalayeff for hppa,
# Wim Van Deputte for alpha.
ONLY_FOR_ARCHS = i386 sparc m68k alpha pa
ONLY_FOR_ARCHS = i386 sparc m68k alpha pa mips
# user configuration section
@ -36,7 +36,7 @@ ONLY_FOR_ARCHS = i386 sparc m68k alpha pa
MAKE_TESTS=yes
MAKE_GXX=yes
MAKE_FORTRAN=yes
#MAKE_CHILL=yes
MAKE_CHILL=yes
MAKE_OBJC=yes
MAKE_JAVA=yes
@ -57,7 +57,7 @@ LATEST_DATE=1999-01-12
# You also may have to remove/add some patches, as these things ARE
# usually passed along to the egcs ml.
#NEXT_DATE=1998-12-20
NEXT_DATE=1999-01-17
#PATCH_DEBUG=yes
LATEST != echo ${LATEST_DATE} | sed -e s/-//g;

View File

@ -1,4 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.2 1999/01/11 21:23:25 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.3 1999/01/18 10:23:25 espie Exp $ */
/* vi:ts=8:
*/
@ -39,6 +39,15 @@
/* We don't have an init section yet */
#undef HAS_INIT_SECTION
/* collect2 support (Macros for initialization)
* -------------------------------------------- */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will
default to using nm. */
#undef OBJECT_FORMAT_COFF
#undef EXTENDED_COFF
/* taken from alpha/osf.h. This used to be common to all alpha
* configurations, but elf has departed from it.
* Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded.

View File

@ -0,0 +1,2 @@
#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN
#include <mips/openbsd.h>

View File

@ -0,0 +1,88 @@
/* GCC configuration for OpenBSD Mips ABI32 */
/* $OpenBSD: openbsd.h,v 1.1 1999/01/18 10:23:26 espie Exp $ */
/* Default mips is little endian, unless otherwise specified */
#define OBJECT_FORMAT_ELF
#include <mips/mips.h>
/* Get generic openbsd definitions */
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_OBJECT_NAME
#include <openbsd.h>
/* run-time target specifications */
#define CPP_PREDEFINES "-DMIPSEL -D_MIPSEL -DSYSTYPE_BSD \
-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
-D__unix__ -D__OpenBSD__ -D__mips__ \
-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)"
/* layout of source language data types
* ------------------------------------ */
/* this must agree with <machine/ansi.h> */
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Controlling the compilation driver
* ---------------------------------- */
/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
-static, -assert, and -nostdlib. Dynamic loader control.
XXX Why don't we offer -R support ? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
%{bestGnum} %{shared} %{non_shared} \
%{call_shared} %{no_archive} %{exact_version} \
%{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
%{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
/* GAS needs to know this */
#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC} %|"
/* Some comment say that this is needed for ELF */
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
/* Some comment say that we need to redefine this for ELF */
#define LOCAL_LABEL_PREFIX "."
/* -G is incompatible with -KPIC which is the default, so only allow objects
in the small data section if the user explicitly asks for it. */
#undef MIPS_DEFAULT_GVALUE
#define MIPS_DEFAULT_GVALUE 0
/* Since gas and gld are standard on OpenBSD, we don't need these. */
#undef ASM_FINAL_SPEC
#undef STARTFILE_SPEC
/*
A C statement to output something to the assembler file to switch to section
NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or
NULL_TREE. Some target formats do not support arbitrary sections. Do not
define this macro in such cases. mips.h doesn't define this, do it here.
*/
#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \
do { \
extern FILE *asm_out_text_file; \
if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \
else \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: openbsd.h,v 1.6 1999/01/13 13:58:46 espie Exp $ */
/* $OpenBSD: openbsd.h,v 1.7 1999/01/18 10:23:25 espie Exp $ */
/* vi:ts=8:
*/
@ -52,7 +52,7 @@
still uses a special flavor of gas that needs to be told when generating
pic code. */
#undef ASM_SPEC
#define ASM_SPEC "%| %{fpic:-k} %{fPIC:-k -K}"
#define ASM_SPEC "%{fpic:-k} %{fPIC:-k -K} %|"
#else
/* Since we use gas, stdin -> - is a good idea, but we don't want to
override native specs just for that. */
@ -106,7 +106,7 @@
/* Support of shared libraries, mostly imported from svr4.h through netbsd. */
/* Two differences from svr4.h:
- we use .- _func instead of a local label,
- we use . - _func instead of a local label,
- we put extra spaces in expressions such as
.type _func , @function
This is more readable for a human being and confuses c++filt less.
@ -148,13 +148,14 @@
entries under OpenBSD. These macros also have to output the starting
labels for the relevant functions/objects. */
#ifndef OBSD_HAS_DECLARE_FUNCTION_NAME
/* Extra assembler code needed to declare a function properly.
Some assemblers may also need to also have something extra said
about the function's return value. We allow for that here. */
#undef ASM_DECLARE_FUNCTION_NAME
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
do { \
fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \
fprintf (FILE, "\t%s\t", TYPE_ASM_OP); \
assemble_name (FILE, NAME); \
fputs (" , ", FILE); \
fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
@ -162,6 +163,7 @@
ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \
ASM_OUTPUT_LABEL(FILE, NAME); \
} while (0)
#endif
/* Declare the size of a function. */
#undef ASM_DECLARE_FUNCTION_SIZE
@ -169,14 +171,15 @@
do { \
if (!flag_inhibit_size_directive) \
{ \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, (FNAME)); \
fputs(" , .- ", FILE); \
fputs(" , . - ", FILE); \
assemble_name (FILE, (FNAME)); \
putc ('\n', FILE); \
} \
} while (0)
#ifndef OBSD_HAS_DECLARE_OBJECT_NAME
/* Extra assembler code needed to declare an object properly. */
#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
@ -190,12 +193,13 @@
if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
{ \
size_directive_output = 1; \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, NAME); \
fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
} \
ASM_OUTPUT_LABEL(FILE, NAME); \
} while (0)
#endif
/* Output the size directive for a decl in rest_of_decl_compilation
in the case where we did not do so before the initializer.
@ -212,7 +216,7 @@ do { \
&& !size_directive_output) \
{ \
size_directive_output = 1; \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
assemble_name (FILE, name); \
fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
} \

View File

@ -1,17 +1,17 @@
/* We settle for little endian for now */
#define TARGET_ENDIAN_DEFAULT 0
#include <pa/pa.h>
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#include <openbsd.h>
/* run-time target specifications */
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) -Asystem(OpenBSD) -Amachine(hppa) -D__OpenBSD__ -D__hppa__ -D__hppa"
#undef OVERRIDE_OPTIONS
#define OVERRIDE_OPTIONS \
{ \
override_options(); \
if (! flag_pic) target_flags |= TARGET_NONPIC_FLAGS; \
override_options(); \
if (! flag_pic) \
/* portable-runtime + fast-indirect-calls */ \
target_flags |= 0x440; \
}
/* XXX why doesn't PA support -R like everyone ??? */
@ -46,11 +46,11 @@
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
do { fputs ("\t.SPACE $PRIVATE$\n\
\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\
\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\
\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24\n\
\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,ZERO,SORT=80\n\
\t.SPACE $TEXT$\n\
\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\
\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\
\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=0x2c\n\
\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY\n\
\t.IMPORT $global$,DATA\n", FILE);\
if (flag_pic || !TARGET_FAST_INDIRECT_CALLS)\
fputs ("\t.IMPORT $$dyncall, MILLICODE\n", FILE);\

View File

@ -2,6 +2,7 @@ MD5 (egcs/egcs-19981213-19981220.diff.gz) = 0277da152b5791433d26165de67f6ec0
MD5 (egcs/egcs-19981213.tar.gz) = d858d60706697e087413320a24343439
MD5 (egcs/egcs-19981220.tar.gz) = a32b6af1d68cdadb457dc77a42584225
MD5 (egcs/egcs-19990103.tar.gz) = 07f781c833e7c2bc9be558e9a1ca8485
MD5 (egcs/egcs-19990112-19990117.diff.gz) = 9f3b8ce3ac90f8534046c0a3db82ce9d
MD5 (egcs/egcs-19990112.tar.gz) = 599d80b9ea8b88e05fbec21740e27670
MD5 (egcs/egcs-chill-19990103.tar.gz) = d9798f88229586a6a8cee4033d4a5664
MD5 (egcs/egcs-chill-19990112.tar.gz) = d2d59fca0324213230e4f62e747492cc

View File

@ -26,6 +26,12 @@ FAIL: gcc.c-torture/compile/981223-1.c, -O2
FAIL: gcc.c-torture/compile/981223-1.c, -O2 -fomit-frame-pointer -finline-functions
FAIL: gcc.c-torture/compile/981223-1.c, -O2 -g
FAIL: gcc.c-torture/compile/981223-1.c, -Os
FAIL: gcc.c-torture/compile/990117-2.c, -O0
FAIL: gcc.c-torture/compile/990117-2.c, -O1
FAIL: gcc.c-torture/compile/990117-2.c, -O2
FAIL: gcc.c-torture/compile/990117-2.c, -O2 -fomit-frame-pointer -finline-functions
FAIL: gcc.c-torture/compile/990117-2.c, -O2 -g
FAIL: gcc.c-torture/compile/990117-2.c, -Os
FAIL: gcc.c-torture/execute/980526-1.c execution, -O2 -fomit-frame-pointer -finline-functions
FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O1
FAIL: gcc.c-torture/execute/ieee/980619-1.c execution, -O2
@ -51,11 +57,11 @@ FAIL: gcc.dg/980414-1.c (test for excess errors)
=== gcc Summary ===
# of expected passes 7816
# of unexpected failures 28
# of expected passes 7864
# of unexpected failures 34
# of expected failures 13
# of unsupported tests 12
/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental)
/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
=== g++ tests ===
@ -81,11 +87,11 @@ FAIL: g++.pt/instantiate4.C (test for excess errors)
=== g++ Summary ===
# of expected passes 4775
# of expected passes 4784
# of unexpected failures 17
# of expected failures 88
# of expected failures 89
# of untested testcases 7
/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/testsuite/../xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental)
/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/testsuite/../xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
=== g77 tests ===
@ -94,7 +100,7 @@ Running target unix
=== g77 Summary ===
# of expected passes 93
# of expected passes 100
# of unresolved testcases 186
=== objc tests ===
@ -104,4 +110,8 @@ Running target unix
=== objc Summary ===
# of expected passes 38
/vbig/ports/lang/egcs-snapshot/egcs-19990103/gcc/xgcc version egcs-2.92.34 19990103 (gcc2 ss-980609 experimental)
/vbig/ports/lang/egcs-snapshot/egcs-19990117/gcc/xgcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
Compiler version: egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
Platform: i386-unknown-openbsd2.4.

View File

@ -34,12 +34,13 @@
alpha*-dec-osf*)
if test x$stabs = xyes
@@ -771,6 +785,9 @@
@@ -771,6 +785,10 @@
h8300-*-*)
float_format=i32
;;
+ hppa*-*-openbsd*)
+ target_cpu_default=1
+ tmake_file=pa/t-openbsd
+ ;;
hppa1.1-*-pro*)
tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
@ -79,14 +80,16 @@
m68k-*-sysv3*) # Motorola m68k's running system V.3
xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
@@ -2299,6 +2323,12 @@
@@ -2299,6 +2323,14 @@
gas=yes
fixincludes=Makefile.in
;;
+ mips*el-*-openbsd*) # mips le
+ tm_file=mips/openbsd-le.h
+ mips*el-*-openbsd*) # mips little endian
+ target_cpu_default="MASK_GAS|MASK_ABICALLS"
+ tm_file=mips/openbsd.h
+ ;;
+ mips*-*-openbsd*) # mips big endian
+ target_cpu_default="MASK_GAS|MASK_ABICALLS"
+ tm_file=mips/openbsd-be.h
+ ;;
mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.

View File

@ -1,16 +0,0 @@
--- gcc/gcc.c.orig Tue Jan 12 00:49:22 1999
+++ gcc/gcc.c Tue Jan 12 00:50:25 1999
@@ -3630,12 +3630,12 @@
if (p[0] == '%' && p[1] == 'O')
{
+ p += 2;
/* We don't support extra suffix characters after %O. */
if (*p == '.' || ISALPHA ((unsigned char)*p))
abort ();
suffix = OBJECT_SUFFIX;
suffix_length = strlen (OBJECT_SUFFIX);
- p += 2;
}
else
{