blob: e6891b5bceb1fbac7de5946e855bbae848f26247 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
/* 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/freebsd.h"
#include "alpha/elf.h"
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (FreeBSD/alpha ELF)");
#undef SDB_DEBUGGING_INFO
#define SDB_DEBUGGING_INFO
#undef DBS_DEBUGGING_INFO
#define DBX_DEBUGGING_INFO
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE \
((len > 1 && !strncmp (str, "gsdb", len)) ? SDB_DEBUG : DBX_DEBUG)
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__alpha -D__alpha__ -D__FreeBSD__ -D__ELF__"
#undef LINK_SPEC
#define LINK_SPEC "-m elf64alpha \
%{O*:-O3} %{!O*:-O1} \
%{assert*} \
%{shared:-shared} \
%{!shared: \
-dc -dp \
%{!nostdlib:%{!r*:%{!e*:-e __start}}} \
%{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
%{static:-static}}"
/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
the crtbegin.o file (see crtstuff.c) which provides part of the
support for getting C++ file-scope static object constructed
before entering `main'. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
"%{!shared: \
%{pg:gcrt0.o%s} \
%{!pg: \
%{p:gcrt0.o%s} \
%{!p:crt0.o%s}}} \
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the file which provides part of the support for getting C++
file-scope static object deconstructed after exiting `main' */
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
|