1 2 3 4 5 6 7 8 9 10 11
12 /*!
13 * ======== Sparc.xdc ========
14 * Native Sparc Solaris target
15 *
16 * This module defines a native target for Solaris on Sparc workstations
17 */
18 metaonly module Sparc inherits gnu.targets.ITarget {
19 override readonly config string name = "Sparc";
20 override readonly config string os = "Solaris";
21 override readonly config string suffix = "5";
22 override readonly config string isa = "sparc";
23 override readonly config xdc.bld.ITarget.Model model= {
24 endian: "big"
25 };
26
27 override readonly config string rts = "gnu.targets.rts5";
28
29 override config string platform = "host.platforms.SUN";
30
31 override readonly config ITarget.Command ar = {
32 cmd: "$(rootDir)/bin/ar",
33 opts: "cr"
34 };
35
36 override readonly config ITarget.Command cc = {
37 cmd: "$(rootDir)/bin/gcc -c -MD -MF $@.dep",
38 opts: "-B$(rootDir)/lib/gcc/$(GCCTARG)/$(GCCVERS)/ -B$(rootDir)/lib/gcc-lib/$(GCCTARG)/$(GCCVERS)/"
39 };
40
41 override config ITarget.Options ccOpts = {
42 prefix: "-fPIC -m32 -Wunused",
43 suffix: "-Dfar="
44 };
45
46 override readonly config ITarget.Command asm = {
47 cmd: "$(rootDir)/bin/gcc -c -x assembler",
48 opts: "-B$(rootDir)/lib/gcc/$(GCCTARG)/$(GCCVERS)/ -B$(rootDir)/lib/gcc-lib/$(GCCTARG)/$(GCCVERS)/"
49 };
50
51 override config ITarget.Options lnkOpts = {
52 prefix: "",
53 suffix: "-lstdc++ -L$(rootDir)/lib"
54 };
55
56 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
57 t_IArg : { size: 4, align: 4 },
58 t_Char : { size: 1, align: 1 },
59 t_Double : { size: 8, align: 8 },
60 t_Float : { size: 4, align: 4 },
61 t_Fxn : { size: 4, align: 4 },
62 t_Int : { size: 4, align: 4 },
63 t_Int8 : { size: 1, align: 1 },
64 t_Int16 : { size: 2, align: 2 },
65 t_Int32 : { size: 4, align: 4 },
66 t_Int64 : { size: 8, align: 8 },
67 t_Long : { size: 4, align: 4 },
68 t_LDouble : { size: 16, align: 8 },
69 t_LLong : { size: 8, align: 8 },
70 t_Ptr : { size: 4, align: 4 },
71 t_Short : { size: 2, align: 2 },
72 };
73 }
74 75 76
77