forked from gcc-mirror/gcc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* configure.in: Remove target-libstdc++-v3 from noconfigdirs for *-*-netware, but add target-libmudflap. Consolidate *-*-netware targets (of which really only i?86 exists) into a single entry. * configure: Likewise. gcc/ * config.gcc: Resurrect NetWare as a target. Handle special case of Novell linker to be used (specified through --with-ld=) and threading model of either Posix (default) or NKS. * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER. * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New. * config/i386/netware.c, config/i386/netware.h: New. * config/i386/nwld.c, config/i386/nwld.h: New. * config/i386/netware-crt0.c: New. * config/i386/netware-libgcc.c: New. * config/i386/netware-libgcc.def: New. * config/i386/netware-libgcc.exp: New. * config/i386/t-netware, config/i386/t-nwld: New. * gthr-nks.h: New. * doc/install.texi: Document NKS threading model. gcc/cp/ * g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather than "-lm". gcc/testsuite/ * g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields. * g++.old-deja/g++.jason/thunk2.C: xfail for NetWare. * g++.old-deja/g++.law/profile1.C: xfail for NetWare. * g++.old-deja/g++.other/store-expr1.C: xfail for NetWare. * gcc.c-torture/compile/20001109-1.c: xfail for NetWare. * gcc.c-torture/compile/20001109-2.c: xfail for NetWare. * gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than the non-portable bzero. * gcc.dg/20010912-1.c: xfail for NetWare. * gcc.dg/20020426-2.c: xfail for NetWare. * gcc.dg/20021014-1.c: xfail for NetWare. * gcc.dg/20021018-1.c: xfail for NetWare. * gcc.dg/20030213-1.c: xfail for NetWare. * gcc.dg/20030225-1.c: xfail for NetWare. * gcc.dg/20030708-1.c: xfail for NetWare. * gcc.dg/builtins-config.h: Also exclude NetWare. * gcc.dg/format/format.h: Define restrict only if not already defined. * gcc.dg/nest.c: xfail for NetWare. * gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare. * lib/target-supports.exp (check_visibility_available): Exclude NetWare. fixincludes/ * inclhack.def: Suppress exception_structure and math_exception for NetWare headers. * fixincl.x: Regenerate. libstdc++-v3/ * crossconfig.m4: Add NetWare as a target. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87040 138bc75d-0d04-0410-961f-82ee72b054a4
- Loading branch information
rth
committed
Sep 3, 2004
1 parent
7469aed
commit 634f7a1
Showing
47 changed files
with
4,048 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
/* Startup routines for NetWare. | ||
Contributed by Jan Beulich (jbeulich@novell.com) | ||
Copyright (C) 2004 Free Software Foundation, Inc. | ||
This file is part of GCC. | ||
GCC is free software; you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation; either version 2, or (at your option) | ||
any later version. | ||
GCC is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with GCC; see the file COPYING. If not, write to | ||
the Free Software Foundation, 59 Temple Place - Suite 330, | ||
Boston, MA 02111-1307, USA. */ | ||
|
||
#include <stddef.h> | ||
#include <stdint.h> | ||
#include "unwind-dw2-fde.h" | ||
|
||
|
||
#define SECTION_DECL(name, decl) decl __attribute__((__section__(name))) | ||
|
||
SECTION_DECL(".ctors", void(*const __CTOR_LIST__)(void)) | ||
= (void(*)(void))(intptr_t)-1; | ||
SECTION_DECL(".ctors$_", void(*const __CTOR_END__)(void)) = NULL; | ||
|
||
SECTION_DECL(".dtors", void(*const __DTOR_LIST__)(void)) | ||
= (void(*)(void))(intptr_t)-1; | ||
SECTION_DECL(".dtors$_", void(*const __DTOR_END__)(void)) = NULL; | ||
|
||
/* No need to use the __[de]register_frame_info_bases functions since | ||
for us the bases are NULL always anyway. */ | ||
void __register_frame_info (const void *, struct object *) | ||
__attribute__((__weak__)); | ||
void *__deregister_frame_info (const void *) __attribute__((__weak__)); | ||
|
||
SECTION_DECL(".eh_frame", /*const*/ uint32_t __EH_FRAME_BEGIN__[]) = { }; | ||
SECTION_DECL(".eh_frame$_", /*const*/ uint32_t __EH_FRAME_END__[]) = {0}; | ||
|
||
int | ||
__init_environment (void *unused __attribute__((__unused__))) | ||
{ | ||
void (* const * pctor)(void); | ||
static struct object object; | ||
|
||
if (__register_frame_info) | ||
__register_frame_info (__EH_FRAME_BEGIN__, &object); | ||
|
||
for (pctor = &__CTOR_END__ - 1; pctor > &__CTOR_LIST__; --pctor) | ||
if (*pctor != NULL) | ||
pctor(); | ||
|
||
return 0; | ||
} | ||
|
||
int | ||
__deinit_environment (void *unused __attribute__((__unused__))) | ||
{ | ||
/* This should be static to prevent calling the same destructor | ||
twice (just in case where we get here multiple times). */ | ||
static void (* const * pdtor)(void) = &__DTOR_LIST__ + 1; | ||
|
||
while (pdtor < &__DTOR_END__) | ||
if (*pdtor++ != NULL) | ||
pdtor[-1] (); | ||
|
||
if (__deregister_frame_info) | ||
__deregister_frame_info(__EH_FRAME_BEGIN__); | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
/* Startup code for libgcc_s.nlm, necessary because we can't allow | ||
libgcc_s to use libc's malloc & Co., which associate allocations | ||
with the NLM owning the current (application) thread. | ||
Contributed by Jan Beulich (jbeulich@novell.com) | ||
Copyright (C) 2004 Free Software Foundation, Inc. | ||
This file is part of GCC. | ||
GCC is free software; you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation; either version 2, or (at your option) | ||
any later version. | ||
GCC is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with GCC; see the file COPYING. If not, write to | ||
the Free Software Foundation, 59 Temple Place - Suite 330, | ||
Boston, MA 02111-1307, USA. */ | ||
|
||
#include <netware.h> | ||
#include <stddef.h> | ||
#include <stdlib.h> | ||
#include <windows.h> | ||
|
||
static rtag_t allocRTag; | ||
|
||
BOOL | ||
DllMain (HINSTANCE libraryId __attribute__ ((__unused__)), | ||
DWORD reason, void *hModule) | ||
{ | ||
switch (reason) | ||
{ | ||
case DLL_NLM_STARTUP: | ||
allocRTag = AllocateResourceTag (hModule, | ||
"libgcc memory", AllocSignature); | ||
return allocRTag != NULL; | ||
case DLL_NLM_SHUTDOWN: | ||
/* This does not recover resources associated with the tag... | ||
ReturnResourceTag (allocRTag, 0); */ | ||
break; | ||
} | ||
return 1; | ||
} | ||
|
||
void * | ||
malloc (size_t size) | ||
{ | ||
return AllocSleepOK (size, allocRTag, NULL); | ||
} | ||
|
||
void | ||
free (void *ptr) | ||
{ | ||
Free (ptr); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
description "gcc runtime and intrinsics support" | ||
copyright "Copyright (C) 1989-2004 Free Software Foundation, Inc." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# libgcc_s.nlm exports | ||
(libgcc2), | ||
__absvdi2, | ||
__absvsi2, | ||
__addvdi3, | ||
__addvsi3, | ||
# __ashldi3, | ||
# __ashrdi3, | ||
__clzdi2, | ||
__clzsi2, | ||
__ctzdi2, | ||
__ctzsi2, | ||
__deregister_frame, | ||
__deregister_frame_info, | ||
__deregister_frame_info_bases, | ||
# __divdi3, | ||
__ffsdi2, | ||
__ffssi2, | ||
__fixunsdfdi, | ||
__fixunssfdi, | ||
# __fixunstfdi, | ||
__fixunsxfdi, | ||
__gcc_bcmp, | ||
__gcc_personality_v0, | ||
# __lshrdi3, | ||
# __moddi3, | ||
# __muldi3, | ||
__mulvdi3, | ||
__mulvsi3, | ||
__negvdi2, | ||
__negvsi2, | ||
__paritydi2, | ||
__paritysi2, | ||
__popcountdi2, | ||
__popcountsi2, | ||
__register_frame, | ||
__register_frame_info, | ||
__register_frame_info_bases, | ||
__register_frame_info_table, | ||
__register_frame_info_table_bases, | ||
__register_frame_table, | ||
__subvdi3, | ||
__subvsi3, | ||
# __umoddi3, | ||
# __udivdi3, | ||
_Unwind_Backtrace, | ||
_Unwind_DeleteException, | ||
_Unwind_FindEnclosingFunction, | ||
_Unwind_Find_FDE, | ||
_Unwind_ForcedUnwind, | ||
_Unwind_GetCFA, | ||
_Unwind_GetDataRelBase, | ||
_Unwind_GetGR, | ||
_Unwind_GetIP, | ||
_Unwind_GetLanguageSpecificData, | ||
_Unwind_GetRegionStart, | ||
_Unwind_GetTextRelBase, | ||
_Unwind_RaiseException, | ||
_Unwind_Resume, | ||
_Unwind_Resume_or_Rethrow, | ||
_Unwind_SetGR, | ||
_Unwind_SetIP |
Oops, something went wrong.