Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:plunky:20141224084328

Diff

Diff from 1.28 to:

Annotations

Annotate by Age | Author | Mixed | None
/fisheye/browse/pcc/pcc/os/linux/ccconfig.h

Annotated File View

plunky
1.28
1 /*      $Id: ccconfig.h,v 1.28 2014/12/24 08:43:28 plunky Exp $ */
pj
1.1
2
3 /*
4  * Copyright (c) 2004 Anders Magnusson (ragge@ludd.luth.se).
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27
28 /*
29  * Various settings that controls how the C compiler works.
30  */
31
32 /* common cpp predefines */
gmcgarry
1.16
33 #define CPPADD  { "-D__linux__", "-D__ELF__", NULL, }
gmcgarry
1.5
34
ragge
1.24
35 #define CRT0            "crt1.o"
ragge
1.22
36 #define GCRT0           "gcrt1.o"
gmcgarry
1.5
37
ragge
1.2
38 #define STARTLABEL "_start"
pj
1.1
39
ragge
1.4
40 #if defined(mach_i386)
ragge
1.22
41 #define CPPMDADD        { "-D__i386__", NULL, }
plunky
1.28
42 #define DYNLINKLIB      "/lib/ld-linux.so.2"
43 #define MUSL_DYLIB      "/lib/ld-musl-i386.so.1"
gmcgarry
1.5
44 #elif defined(mach_powerpc)
ragge
1.22
45 #define CPPMDADD        { "-D__ppc__", NULL, }
plunky
1.28
46 #define DYNLINKLIB      "/lib/ld-linux.so.2"
47 #define MUSL_DYLIB      "/lib/ld-musl-powerpc.so.1"
ragge
1.14
48 #elif defined(mach_amd64)
plunky
1.27
49 #include "../inc/amd64.h"
plunky
1.28
50 #define DYNLINKLIB      "/lib64/ld-linux-x86-64.so.2"
51 #define MUSL_DYLIB      "/lib/ld-musl-x86_64.so.1"
ragge
1.26
52 #ifndef MULTIARCH_PATH
ragge
1.23
53 #define DEFLIBDIRS      { "/usr/lib64/", 0 }
ragge
1.26
54 #else
55 #define DEFLIBDIRS      { "/usr/lib64/", "/usr/lib/" MULTIARCH_PATH "/", 0 }
56 #endif
ragge
1.17
57 #elif defined(mach_mips)
plunky
1.27
58 #define CPPMDADD        { "-D__mips__", NULL, }
plunky
1.28
59 #define DYNLINKLIB      "/lib/ld.so.1"
60 #define MUSL_ROOT       "/lib/ld-musl-mips"
61 #define MUSL_EL         "el"
62 #define MUSL_SF         "-sf"
pj
1.1
63 #else
64 #error defines for arch missing
65 #endif
plunky
1.28
66
67 /*
68  * When USE_MUSL is defined, we either provide MUSL_DYLIB, or
69  * code to construct the dynamic linker name at runtime
70  */
71 #ifdef USE_MUSL
72 #ifdef MUSL_DYLIB
73 #define DYNLINKLIB MUSL_DYLIB
74 #else
75 #ifndef MUSL_EB
76 #define MUSL_EB NULL
77 #endif
78 #ifndef MUSL_EL
79 #define MUSL_EL NULL
80 #endif
81 #ifndef MUSL_SF
82 #define MUSL_SF NULL
83 #endif
84 #ifndef MUSL_HF
85 #define MUSL_HF NULL
86 #endif
87 #ifndef MUSL_EXT
88 #define MUSL_EXT ".so.1"
89 #endif
90
91 #define PCC_SETUP_LD_ARGS       {                               \
92                 char *t = MUSL_ROOT;                            \
93                 t = cat(tbigendian ? MUSL_EB : MUSL_EL);      \
94                 t = cat(tsoftfloat ? MUSL_SF : MUSL_HF);      \
95                 dynlinklib = cat(tMUSL_EXT);                  \
96         }
97 #endif
98 #endif
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-28 04:06 +0100