104 lines
3.0 KiB
C
104 lines
3.0 KiB
C
/* XXX */
|
|
/*
|
|
* This file was derived from source obtained from NetBSD/Alpha which
|
|
* is publicly available for ftp. The patch was developed by cgd@netbsd.org
|
|
* during the time he worked at CMU. He claims that CMU own this patch
|
|
* to gcc and that they have not (and will not) release the patch for
|
|
* incorporation in FSF sources. We are supposedly able to use the patch,
|
|
* but we are not allowed to forward it back to FSF for inclusion in
|
|
* their source releases.
|
|
*
|
|
* This all has me (jb@freebsd.org) confused because (a) I see no copyright
|
|
* messages that tell me that use is restricted; and (b) I expected that
|
|
* the patch was originally developed from other files which are subject
|
|
* to GPL.
|
|
*
|
|
* Use of this file is restricted until its CMU ownership is tested.
|
|
*/
|
|
|
|
#include "alpha/alpha.h"
|
|
|
|
#undef WCHAR_TYPE
|
|
#define WCHAR_TYPE "int"
|
|
|
|
#undef WCHAR_TYPE_SIZE
|
|
#define WCHAR_TYPE_SIZE 32
|
|
|
|
/* FreeBSD-specific things: */
|
|
|
|
#undef CPP_PREDEFINES
|
|
#define CPP_PREDEFINES "-D__FreeBSD__ -D__alpha__ -D__alpha"
|
|
|
|
/* Look for the include files in the system-defined places. */
|
|
|
|
#undef GPLUSPLUS_INCLUDE_DIR
|
|
#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
|
|
|
|
#undef GCC_INCLUDE_DIR
|
|
#define GCC_INCLUDE_DIR "/usr/include"
|
|
|
|
#undef INCLUDE_DEFAULTS
|
|
#define INCLUDE_DEFAULTS \
|
|
{ \
|
|
{ GPLUSPLUS_INCLUDE_DIR, 1, 1 }, \
|
|
{ GCC_INCLUDE_DIR, 0, 0 }, \
|
|
{ 0, 0, 0 } \
|
|
}
|
|
|
|
|
|
/* Under FreeBSD, the normal location of the `ld' and `as' programs is the
|
|
/usr/bin directory. */
|
|
|
|
#undef MD_EXEC_PREFIX
|
|
#define MD_EXEC_PREFIX "/usr/bin/"
|
|
|
|
/* Under FreeBSD, the normal location of the various *crt*.o files is the
|
|
/usr/lib directory. */
|
|
|
|
#undef MD_STARTFILE_PREFIX
|
|
#define MD_STARTFILE_PREFIX "/usr/lib/"
|
|
|
|
|
|
/* Provide a CPP_SPEC appropriate for FreeBSD. Current we just deal with
|
|
the GCC option `-posix'. */
|
|
|
|
#undef CPP_SPEC
|
|
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
|
|
|
|
/* Provide an ASM_SPEC appropriate for FreeBSD. */
|
|
|
|
#undef ASM_SPEC
|
|
#define ASM_SPEC " %|"
|
|
|
|
#undef ASM_FINAL_SPEC
|
|
|
|
/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate
|
|
libc, depending on whether we're doing profiling. */
|
|
|
|
#undef LIB_SPEC
|
|
#define LIB_SPEC "%{!shared:%{!pg:%{!pthread:-lc}%{pthread:-lpthread -lc}}%{pg:%{!pthread:-lc_p}%{pthread:-lpthread_p -lc_p}}}"
|
|
|
|
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
|
|
for the special GCC options -static, -assert, and -nostdlib. */
|
|
|
|
#undef LINK_SPEC
|
|
#define LINK_SPEC \
|
|
"%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp %{static:-Bstatic} %{assert*}"
|
|
|
|
/* Output assembler code to FILE to increment profiler label # LABELNO
|
|
for profiling a function entry. Under FreeBSD/Alpha, the assembler does
|
|
nothing special with -pg. */
|
|
|
|
#undef FUNCTION_PROFILER
|
|
#define FUNCTION_PROFILER(FILE, LABELNO) \
|
|
fputs ("\tjsr $28,_mcount\n", (FILE)); /* at */
|
|
|
|
/* Show that we need a GP when profiling. */
|
|
#define TARGET_PROFILING_NEEDS_GP
|
|
|
|
#define bsd4_4
|
|
#undef HAS_INIT_SECTION
|
|
|
|
#undef PREFERRED_DEBUGGING_TYPE
|
|
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
|