Changes in / [c8f70eb:ac08cd9] in mainline


Ignore:
Location:
uspace/app/pcc
Files:
6 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/pcc/cc/cc/cc.c

    rc8f70eb rac08cd9  
    11501150                        }
    11511151                }
     1152#ifdef __helenos__
     1153                av[j++] = "-T";
     1154                av[j++] = "/inc/_link.ld";
     1155#endif
     1156               
    11521157                av[j++] = 0;
    11531158                eflag |= callsys(ld, av);
  • uspace/app/pcc/cc/ccom/Makefile

    rc8f70eb rac08cd9  
    3333EXTRA_CFLAGS = -I$(MIPDIR) -I$(MDIR) -I$(OSDIR) -I. -w
    3434DEFS = -Dmach_$(PLATFORM) -D__helenos__ -DPCC_DEBUG -DGCC_COMPAT -Dfree=free
     35LIBS = $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    3536BINARY = ccom
    3637
  • uspace/app/pcc/cc/ccom/arch/amd64/external.c

    rc8f70eb rac08cd9  
    11#include "pass2.h"
    2 
    3 // TODO: replace with file generated by ccom_mkext
    4 
    52static int op0[] = { -1 };
    63static int op1[] = { -1 };
    7 static int op2[] = { -1 };
     4static int op2[] = { 193, 194, 195, 196, 197, 198, 199, 200, 201, 218, 220, -1 };
    85static int op3[] = { -1 };
    9 static int op4[] = { -1 };
    10 static int op5[] = { -1 };
    11 static int op6[] = { -1 };
    12 static int op7[] = { -1 };
    13 static int op8[] = { -1 };
    14 static int op9[] = { -1 };
    15 static int op10[] = { -1 };
    16 static int op11[] = { -1 };
    17 static int op12[] = { -1 };
    18 static int op13[] = { -1 };
    19 static int op14[] = { -1 };
    20 static int op15[] = { -1 };
    21 static int op16[] = { -1 };
    22 static int op17[] = { -1 };
    23 static int op18[] = { -1 };
    24 static int op19[] = { -1 };
    25 static int op20[] = { -1 };
     6static int op4[] = { 193, 194, 195, 196, 197, 198, 199, 200, 201, 218, 220, -1 };
     7static int op5[] = { 193, 194, 195, 196, 197, 198, 199, 200, 201, 218, 220, -1 };
     8static int op6[] = { 193, 194, 195, 196, 197, 198, 199, 200, 201, 218, 220, -1 };
     9static int op7[] = { 193, 194, 195, 196, 197, 198, 199, 200, 201, 218, 220, -1 };
     10static int op8[] = { 193, 194, 195, 196, 197, 198, 199, 200, 201, 218, 220, -1 };
     11static int op9[] = { 219, 220, -1 };
     12static int op10[] = { 70, 71, 72, 73, 74, 75, 76, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 220, -1 };
     13static int op11[] = { 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 220, -1 };
     14static int op12[] = { 146, 147, 148, 149, 150, 151, 152, 153, 220, -1 };
     15static int op13[] = { 154, 155, 156, 157, 158, 159, 220, -1 };
     16static int op14[] = { 160, 161, 162, 163, 164, 165, 220, -1 };
     17static int op15[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 182, 183, 184, 185, 186, 187, 188, 189, 190, 220, -1 };
     18static int op16[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 220, -1 };
     19static int op17[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 220, -1 };
     20static int op18[] = { 95, 96, 97, 98, 99, 100, 101, 102, 220, -1 };
     21static int op19[] = { 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 220, -1 };
     22static int op20[] = { 208, 209, 210, 211, 219, 220, -1 };
    2623static int op21[] = { -1 };
    2724static int op22[] = { -1 };
    28 static int op23[] = { -1 };
    29 static int op24[] = { -1 };
    30 static int op25[] = { -1 };
    31 static int op26[] = { -1 };
    32 static int op27[] = { -1 };
    33 static int op28[] = { -1 };
    34 static int op29[] = { -1 };
    35 static int op30[] = { -1 };
    36 static int op31[] = { -1 };
    37 static int op32[] = { -1 };
    38 static int op33[] = { -1 };
    39 static int op34[] = { -1 };
    40 static int op35[] = { -1 };
    41 static int op36[] = { -1 };
    42 static int op37[] = { -1 };
    43 static int op38[] = { -1 };
    44 static int op39[] = { -1 };
    45 static int op40[] = { -1 };
    46 static int op41[] = { -1 };
    47 static int op42[] = { -1 };
    48 static int op43[] = { -1 };
    49 static int op44[] = { -1 };
    50 static int op45[] = { -1 };
    51 static int op46[] = { -1 };
    52 static int op47[] = { -1 };
    53 static int op48[] = { -1 };
    54 static int op49[] = { -1 };
    55 static int op50[] = { -1 };
    56 static int op51[] = { -1 };
    57 static int op52[] = { -1 };
    58 static int op53[] = { -1 };
    59 static int op54[] = { -1 };
     25static int op23[] = { 166, 167, 168, 169, 170, 171, 214, 219, 220, -1 };
     26static int op24[] = { 202, 203, 204, 205, 206, 207, 219, 220, -1 };
     27static int op25[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     28static int op26[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     29static int op27[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     30static int op28[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     31static int op29[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     32static int op30[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     33static int op31[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     34static int op32[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     35static int op33[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     36static int op34[] = { 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 220, -1 };
     37static int op35[] = { 220, -1 };
     38static int op36[] = { 217, 219, 220, -1 };
     39static int op37[] = { 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, 219, 220, -1 };
     40static int op38[] = { 1, 2, 219, 220, -1 };
     41static int op39[] = { 220, -1 };
     42static int op40[] = { 220, -1 };
     43static int op41[] = { 48, 50, 52, 54, 56, 58, 60, 62, 220, -1 };
     44static int op42[] = { 49, 51, 53, 55, 57, 59, 61, 63, 219, 220, -1 };
     45static int op43[] = { 220, -1 };
     46static int op44[] = { 219, 220, -1 };
     47static int op45[] = { 67, 68, 69, 220, -1 };
     48static int op46[] = { 64, 65, 66, 219, 220, -1 };
     49static int op47[] = { 218, 220, -1 };
     50static int op48[] = { 220, -1 };
     51static int op49[] = { 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 215, -1 };
     52static int op50[] = { 145, 216, -1 };
     53static int op51[] = { 212, 219, 220, -1 };
     54static int op52[] = { 219, 220, -1 };
     55static int op53[] = { 220, -1 };
     56static int op54[] = { 191, 192, 219, 220, -1 };
    6057static int op55[] = { -1 };
    61 static int op56[] = { -1 };
    62 static int op57[] = { -1 };
    63 static int op58[] = { -1 };
     58static int op56[] = { 220, -1 };
     59static int op57[] = { 219, 220, -1 };
     60static int op58[] = { 213, 219, 220, -1 };
    6461
    6562int *qtable[] = {
     
    124121        op58,
    125122};
    126 int tempregs[] = { -1 };
    127 int permregs[] = { -1 };
     123int tempregs[] = { 0, 1, 2, 4, 5, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1 };
     124int permregs[] = { 3, 12, 13, 14, 15, -1 };
    128125bittype validregs[] = {
    129         0x7fffffffff,
     126        0xffffffff3f,
    130127};
    131128static int amap[MAXREGS][NUMCLASS] = {
    132         /* 0 */{ 0x0,0x0,0x0,0x0 },
    133         /* 1 */{ 0x0,0x0,0x0,0x0 },
    134         /* 2 */{ 0x0,0x0,0x0,0x0 },
    135         /* 3 */{ 0x0,0x0,0x0,0x0 },
    136         /* 4 */{ 0x0,0x0,0x0,0x0 },
    137         /* 5 */{ 0x0,0x0,0x0,0x0 },
    138         /* 6 */{ 0x0,0x0,0x0,0x0 },
    139         /* 7 */{ 0x0,0x0,0x0,0x0 },
    140         /* 8 */{ 0x0,0x0,0x0,0x0 },
    141         /* 9 */{ 0x0,0x0,0x0,0x0 },
    142         /* 10 */{ 0x0,0x0,0x0,0x0 },
    143         /* 11 */{ 0x0,0x0,0x0,0x0 },
    144         /* 12 */{ 0x0,0x0,0x0,0x0 },
    145         /* 13 */{ 0x0,0x0,0x0,0x0 },
    146         /* 14 */{ 0x0,0x0,0x0,0x0 },
    147         /* 15 */{ 0x0,0x0,0x0,0x0 },
    148         /* 16 */{ 0x0,0x0,0x0,0x0 },
    149         /* 17 */{ 0x0,0x0,0x0,0x0 },
    150         /* 18 */{ 0x0,0x0,0x0,0x0 },
    151         /* 19 */{ 0x0,0x0,0x0,0x0 },
    152         /* 20 */{ 0x0,0x0,0x0,0x0 },
    153         /* 21 */{ 0x0,0x0,0x0,0x0 },
    154         /* 22 */{ 0x0,0x0,0x0,0x0 },
    155         /* 23 */{ 0x0,0x0,0x0,0x0 },
    156         /* 24 */{ 0x0,0x0,0x0,0x0 },
    157         /* 25 */{ 0x0,0x0,0x0,0x0 },
    158         /* 26 */{ 0x0,0x0,0x0,0x0 },
    159         /* 27 */{ 0x0,0x0,0x0,0x0 },
    160         /* 28 */{ 0x0,0x0,0x0,0x0 },
    161         /* 29 */{ 0x0,0x0,0x0,0x0 },
    162         /* 30 */{ 0x0,0x0,0x0,0x0 },
    163         /* 31 */{ 0x0,0x0,0x0,0x0 },
    164         /* 32 */{ 0x0,0x0,0x0,0x0 },
    165         /* 33 */{ 0x0,0x0,0x0,0x0 },
    166         /* 34 */{ 0x0,0x0,0x0,0x0 },
    167         /* 35 */{ 0x0,0x0,0x0,0x0 },
    168         /* 36 */{ 0x0,0x0,0x0,0x0 },
    169         /* 37 */{ 0x0,0x0,0x0,0x0 },
    170         /* 38 */{ 0x0,0x0,0x0,0x0 }
     129        /* 0 */{ 0x1,0x0,0x0 },
     130        /* 1 */{ 0x2,0x0,0x0 },
     131        /* 2 */{ 0x4,0x0,0x0 },
     132        /* 3 */{ 0x8,0x0,0x0 },
     133        /* 4 */{ 0x10,0x0,0x0 },
     134        /* 5 */{ 0x20,0x0,0x0 },
     135        /* 6 */{ 0x0,0x0,0x0 },
     136        /* 7 */{ 0x0,0x0,0x0 },
     137        /* 8 */{ 0x40,0x0,0x0 },
     138        /* 9 */{ 0x80,0x0,0x0 },
     139        /* 10 */{ 0x100,0x0,0x0 },
     140        /* 11 */{ 0x200,0x0,0x0 },
     141        /* 12 */{ 0x400,0x0,0x0 },
     142        /* 13 */{ 0x800,0x0,0x0 },
     143        /* 14 */{ 0x1000,0x0,0x0 },
     144        /* 15 */{ 0x2000,0x0,0x0 },
     145        /* 16 */{ 0x0,0x1,0x0 },
     146        /* 17 */{ 0x0,0x2,0x0 },
     147        /* 18 */{ 0x0,0x4,0x0 },
     148        /* 19 */{ 0x0,0x8,0x0 },
     149        /* 20 */{ 0x0,0x10,0x0 },
     150        /* 21 */{ 0x0,0x20,0x0 },
     151        /* 22 */{ 0x0,0x40,0x0 },
     152        /* 23 */{ 0x0,0x80,0x0 },
     153        /* 24 */{ 0x0,0x100,0x0 },
     154        /* 25 */{ 0x0,0x200,0x0 },
     155        /* 26 */{ 0x0,0x400,0x0 },
     156        /* 27 */{ 0x0,0x800,0x0 },
     157        /* 28 */{ 0x0,0x1000,0x0 },
     158        /* 29 */{ 0x0,0x2000,0x0 },
     159        /* 30 */{ 0x0,0x4000,0x0 },
     160        /* 31 */{ 0x0,0x8000,0x0 },
     161        /* 32 */{ 0x0,0x0,0x1 },
     162        /* 33 */{ 0x0,0x0,0x2 },
     163        /* 34 */{ 0x0,0x0,0x4 },
     164        /* 35 */{ 0x0,0x0,0x8 },
     165        /* 36 */{ 0x0,0x0,0x10 },
     166        /* 37 */{ 0x0,0x0,0x20 },
     167        /* 38 */{ 0x0,0x0,0x40 },
     168        /* 39 */{ 0x0,0x0,0x80 },
    171169};
    172170int
     
    175173        return amap[regnum][class-1];
    176174}
    177 static int rmap[NUMCLASS][15] = {
    178         { 0, 1, 2, 3, 4, 5, },
    179         { 8, 9, 10, 11, 12, 13, 14, 15, },
    180         { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, },
    181         { 31, 32, 33, 34, 35, 36, 37, 38, },
     175static int rmap[NUMCLASS][16] = {
     176        { 0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, },
     177        { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, },
     178        { 32, 33, 34, 35, 36, 37, 38, 39, },
    182179};
    183180
     
    187184        return rmap[class-1][color];
    188185}
    189 int regK[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
     186int regK[] = { 0, 14, 16, 8, 0, 0, 0, 0 };
    190187int
    191188classmask(int class)
    192189{
    193         if(class == CLASSA) return 0x0;
    194         if(class == CLASSB) return 0x0;
    195         if(class == CLASSC) return 0x0;
     190        if(class == CLASSA) return 0x3fff;
     191        if(class == CLASSB) return 0xffff;
     192        if(class == CLASSC) return 0xff;
    196193        if(class == CLASSD) return 0x0;
    197194        if(class == CLASSE) return 0x0;
     
    200197}
    201198static bittype ovlarr[MAXREGS][1] = {
    202 { 0x1f0301,  },
    203 { 0x1e10c02,  },
    204 { 0xe223004,  },
    205 { 0x3244c008,  },
    206 { 0x54880010,  },
    207 { 0x69100020,  },
     199{ 0x1,  },
     200{ 0x2,  },
     201{ 0x4,  },
     202{ 0x8,  },
     203{ 0x10,  },
     204{ 0x20,  },
    208205{ 0x40,  },
    209206{ 0x80,  },
    210 { 0x1f0101,  },
    211 { 0x1f0201,  },
    212 { 0x1e10402,  },
    213 { 0x1e10802,  },
    214 { 0xe221004,  },
    215 { 0xe222004,  },
    216 { 0x32444008,  },
    217 { 0x32448008,  },
    218 { 0x1ff0f03,  },
    219 { 0xe3f3305,  },
    220 { 0x325fc309,  },
    221 { 0x549f0311,  },
    222 { 0x691f0321,  },
    223 { 0xfe33c06,  },
    224 { 0x33e5cc0a,  },
    225 { 0x55e90c12,  },
    226 { 0x69f10c22,  },
    227 { 0x3e66f00c,  },
    228 { 0x5eaa3014,  },
    229 { 0x6f323024,  },
    230 { 0x76ccc018,  },
    231 { 0x7b54c028,  },
    232 { 0x7d980030,  },
     207{ 0x100,  },
     208{ 0x200,  },
     209{ 0x400,  },
     210{ 0x800,  },
     211{ 0x1000,  },
     212{ 0x2000,  },
     213{ 0x4000,  },
     214{ 0x8000,  },
     215{ 0x10000,  },
     216{ 0x20000,  },
     217{ 0x40000,  },
     218{ 0x80000,  },
     219{ 0x100000,  },
     220{ 0x200000,  },
     221{ 0x400000,  },
     222{ 0x800000,  },
     223{ 0x1000000,  },
     224{ 0x2000000,  },
     225{ 0x4000000,  },
     226{ 0x8000000,  },
     227{ 0x10000000,  },
     228{ 0x20000000,  },
     229{ 0x40000000,  },
    233230{ 0x80000000,  },
    234231{ 0x1,  },
     
    239236{ 0x20,  },
    240237{ 0x40,  },
     238{ 0x80,  },
    241239};
    242240int
  • uspace/app/pcc/cc/ccom/arch/amd64/external.h

    rc8f70eb rac08cd9  
    1 // TODO: replace with file generated by ccom_mkext
    2 
    31#ifndef _EXTERNAL_H_
    42#define _EXTERNAL_H_
    5 #define MAXOPLEN 0
    6 #define NUMBITS 32
     3#define NEED_SMULLL
     4#define NEED_SDIVLL
     5#define NEED_SMODLL
     6#define NEED_SPLUSLL
     7#define NEED_SMINUSLL
     8#define NEED_UMULLL
     9#define NEED_UDIVLL
     10#define NEED_UMODLL
     11#define NEED_UPLUSLL
     12#define NEED_UMINUSLL
     13#define MAXOPLEN 48
     14#define NUMBITS 64
    715#define BIT2BYTE(bits) ((((bits)+NUMBITS-1)/NUMBITS)*(NUMBITS/8))
    8 #define BITSET(arr, bit) (arr[bit/NUMBITS] |= ((int)1 << (bit & (NUMBITS-1))))
    9 #define BITCLEAR(arr, bit) (arr[bit/NUMBITS] &= ~((int)1 << (bit & (NUMBITS-1))))
    10 #define TESTBIT(arr, bit) (arr[bit/NUMBITS] & ((int)1 << (bit & (NUMBITS-1))))
    11 typedef int bittype;
     16#define BITSET(arr, bit) (arr[bit/NUMBITS] |= ((long)1 << (bit & (NUMBITS-1))))
     17#define BITCLEAR(arr, bit) (arr[bit/NUMBITS] &= ~((long)1 << (bit & (NUMBITS-1))))
     18#define TESTBIT(arr, bit) (arr[bit/NUMBITS] & ((long)1 << (bit & (NUMBITS-1))))
     19typedef long bittype;
    1220extern int tempregs[], permregs[];
    13 #define NTEMPREG 0
    14 #define FREGS 0
    15 #define NPERMREG 0
     21#define NTEMPREG 26
     22#define FREGS 25
     23#define NPERMREG 6
    1624extern bittype validregs[];
    17 #define AREGCNT 0
    18 #define BREGCNT 0
    19 #define CREGCNT 0
     25#define AREGCNT 14
     26#define BREGCNT 16
     27#define CREGCNT 8
    2028#define DREGCNT 0
    2129#define EREGCNT 0
  • uspace/app/pcc/cc/ccom/arch/ia32/external.c

    rc8f70eb rac08cd9  
    22static int op0[] = { -1 };
    33static int op1[] = { -1 };
    4 static int op2[] = { 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 231, 233, -1 };
     4static int op2[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 232, 234, -1 };
    55static int op3[] = { -1 };
    6 static int op4[] = { 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 231, 233, -1 };
    7 static int op5[] = { 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 231, 233, -1 };
    8 static int op6[] = { 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 231, 233, -1 };
    9 static int op7[] = { 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 231, 233, -1 };
    10 static int op8[] = { 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 231, 233, -1 };
    11 static int op9[] = { 232, 233, -1 };
    12 static int op10[] = { 68, 69, 70, 71, 72, 73, 74, 75, 76, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 233, -1 };
    13 static int op11[] = { 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 233, -1 };
    14 static int op12[] = { 151, 152, 153, 154, 155, 156, 157, 233, -1 };
    15 static int op13[] = { 158, 159, 160, 161, 162, 233, -1 };
    16 static int op14[] = { 163, 164, 165, 166, 167, 168, 233, -1 };
    17 static int op15[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 183, 184, 185, 186, 187, 188, 189, 233, -1 };
    18 static int op16[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 233, -1 };
    19 static int op17[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 233, -1 };
    20 static int op18[] = { 97, 98, 99, 100, 101, 102, 103, 233, -1 };
    21 static int op19[] = { 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 233, -1 };
    22 static int op20[] = { 210, 211, 212, 213, 232, 233, -1 };
     6static int op4[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 232, 234, -1 };
     7static int op5[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 232, 234, -1 };
     8static int op6[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 232, 234, -1 };
     9static int op7[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 232, 234, -1 };
     10static int op8[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 232, 234, -1 };
     11static int op9[] = { 233, 234, -1 };
     12static int op10[] = { 68, 69, 70, 71, 72, 73, 74, 75, 76, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 234, -1 };
     13static int op11[] = { 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 234, -1 };
     14static int op12[] = { 151, 152, 153, 154, 155, 156, 157, 234, -1 };
     15static int op13[] = { 158, 159, 160, 161, 162, 234, -1 };
     16static int op14[] = { 163, 164, 165, 166, 167, 168, 234, -1 };
     17static int op15[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 183, 184, 185, 186, 187, 188, 189, 234, -1 };
     18static int op16[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 234, -1 };
     19static int op17[] = { 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 234, -1 };
     20static int op18[] = { 97, 98, 99, 100, 101, 102, 103, 234, -1 };
     21static int op19[] = { 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 234, -1 };
     22static int op20[] = { 211, 212, 213, 214, 233, 234, -1 };
    2323static int op21[] = { -1 };
    2424static int op22[] = { -1 };
    25 static int op23[] = { 169, 170, 171, 172, 173, 174, 175, 227, 232, 233, -1 };
    26 static int op24[] = { 205, 206, 207, 208, 209, 232, 233, -1 };
    27 static int op25[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    28 static int op26[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    29 static int op27[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    30 static int op28[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    31 static int op29[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    32 static int op30[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    33 static int op31[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    34 static int op32[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    35 static int op33[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    36 static int op34[] = { 176, 177, 178, 179, 180, 181, 182, 233, -1 };
    37 static int op35[] = { 233, -1 };
    38 static int op36[] = { 230, 232, 233, -1 };
    39 static int op37[] = { 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, 232, 233, -1 };
    40 static int op38[] = { 1, 232, 233, -1 };
    41 static int op39[] = { 233, -1 };
    42 static int op40[] = { 233, -1 };
    43 static int op41[] = { 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 233, -1 };
    44 static int op42[] = { 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 232, 233, -1 };
    45 static int op43[] = { 233, -1 };
    46 static int op44[] = { 232, 233, -1 };
    47 static int op45[] = { 65, 66, 67, 233, -1 };
    48 static int op46[] = { 62, 63, 64, 232, 233, -1 };
    49 static int op47[] = { 231, 233, -1 };
    50 static int op48[] = { 233, -1 };
    51 static int op49[] = { 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 228, -1 };
    52 static int op50[] = { 150, 229, -1 };
    53 static int op51[] = { 226, 232, 233, -1 };
    54 static int op52[] = { 232, 233, -1 };
    55 static int op53[] = { 233, -1 };
    56 static int op54[] = { 190, 232, 233, -1 };
     25static int op23[] = { 169, 170, 171, 172, 173, 174, 175, 228, 233, 234, -1 };
     26static int op24[] = { 206, 207, 208, 209, 210, 233, 234, -1 };
     27static int op25[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     28static int op26[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     29static int op27[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     30static int op28[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     31static int op29[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     32static int op30[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     33static int op31[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     34static int op32[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     35static int op33[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     36static int op34[] = { 176, 177, 178, 179, 180, 181, 182, 234, -1 };
     37static int op35[] = { 234, -1 };
     38static int op36[] = { 231, 233, 234, -1 };
     39static int op37[] = { 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, 233, 234, -1 };
     40static int op38[] = { 1, 233, 234, -1 };
     41static int op39[] = { 234, -1 };
     42static int op40[] = { 234, -1 };
     43static int op41[] = { 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 234, -1 };
     44static int op42[] = { 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 233, 234, -1 };
     45static int op43[] = { 234, -1 };
     46static int op44[] = { 233, 234, -1 };
     47static int op45[] = { 65, 66, 67, 234, -1 };
     48static int op46[] = { 62, 63, 64, 233, 234, -1 };
     49static int op47[] = { 232, 234, -1 };
     50static int op48[] = { 234, -1 };
     51static int op49[] = { 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 229, -1 };
     52static int op50[] = { 150, 230, -1 };
     53static int op51[] = { 227, 233, 234, -1 };
     54static int op52[] = { 233, 234, -1 };
     55static int op53[] = { 234, -1 };
     56static int op54[] = { 190, 191, 233, 234, -1 };
    5757static int op55[] = { -1 };
    58 static int op56[] = { 233, -1 };
    59 static int op57[] = { 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 232, 233, -1 };
    60 static int op58[] = { 232, 233, -1 };
     58static int op56[] = { 234, -1 };
     59static int op57[] = { 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 233, 234, -1 };
     60static int op58[] = { 233, 234, -1 };
    6161
    6262int *qtable[] = {
  • uspace/app/pcc/cc/ccom/main.c

    rc8f70eb rac08cd9  
    314314
    315315        mkdope();
     316#ifndef __helenos__
    316317        signal(SIGSEGV, segvcatch);
     318#endif
    317319#ifdef SIGBUS
    318320        signal(SIGBUS, segvcatch);
  • uspace/app/pcc/cc/ccom/mkext/Makefile

    rc8f70eb rac08cd9  
    3232OSDIR = ../../../os/helenos
    3333EXTRA_CFLAGS = -I$(MIPDIR) -I$(MDIR) -I$(OSDIR) -I. -w
    34 DEFS = -DMKEXT -Dmach_$(PLATFORM) -D__helenos__
     34DEFS = -DGCC_COMPAT -DPCC_DEBUG -DMKEXT -Dmach_$(PLATFORM) -D__helenos__
    3535BINARY = cc_mkext
    3636
  • uspace/app/pcc/config.h

    rc8f70eb rac08cd9  
    1 
    2 // FIXME: find out which of them are actually true
     1/* Hard-coded, because wiring up configure script would just not be worth the effort. */
    32
    43/* Using a.out ABI */
     
    65
    76/* Define path to alternate assembler */
    8 //#undef ASSEMBLER
     7#define ASSEMBLER "/app/as"
    98
    109/* Using Classic 68k ABI */
     
    9594#define HAVE_VSNPRINTF 1
    9695
    97 /* Define if host is BIG endian */
    98 //#undef HOST_BIG_ENDIAN
     96#ifdef __BE__
     97        /* Define if host is BIG endian */
     98        #define HOST_BIG_ENDIAN
     99        /* Define if target defaults to BIG endian */
     100        #undef TARGET_BIG_ENDIAN
     101#endif
    99102
    100 /* Define if host is LITTLE endian */
    101 #define HOST_LITTLE_ENDIAN
    102 // FIXME: check architecture
     103#ifdef __LE__
     104        /* Define if host is LITTLE endian */
     105        #define HOST_LITTLE_ENDIAN
     106        /* Define if target defaults to LITTLE endian */
     107        #define TARGET_LITTLE_ENDIAN
     108#endif
    103109
    104110/* lex is flex */
     
    106112
    107113/* Define alternate standard lib directory */
    108 //#undef LIBDIR
     114#define LIBDIR "/lib/"
    109115
    110116/* Define path to alternate linker */
    111 //#undef LINKER
     117#define LINKER "/app/ld"
    112118
    113119/* Using Mach-O ABI */
     
    142148
    143149/* Define path to alternate preprocessor */
    144 //#undef PREPROCESSOR
     150#undef PREPROCESSOR
    145151
    146152/* Define to 1 if you have the ANSI C header files. */
     
    148154
    149155/* Define alternate standard include directory */
    150 //#undef STDINC
     156#define STDINC "/inc/c"
    151157
    152 /* Define if target defaults to BIG endian */
    153 //#undef TARGET_BIG_ENDIAN
    154 
    155 /* Define if target defaults to LITTLE endian */
    156 #define TARGET_LITTLE_ENDIAN
    157 // FIXME: check architecture
    158158
    159159/* Target OS */
     
    164164
    165165/* Enable thread-local storage (TLS). */
    166 // #undef TLS
     166#define TLS 1
    167167
    168168/* Version string */
  • uspace/app/pcc/os/helenos/ccconfig.h

    rc8f70eb rac08cd9  
    3535#define CPPADD  { "-D__helenos__", "-D__ELF__", NULL, }
    3636
    37 #define CRT0FILE ""
    38 #define CRT0FILE_PROFILE ""
     37#undef CRT0FILE
     38#undef CRT0FILE_PROFILE
    3939
    40 #define LIBCLIBS { NULL }
     40#define LIBCLIBS { "/lib/libc.a", "/lib/libsoftfloat.a", "/lib/libsoftint.a", NULL }
    4141#define LIBCLIBS_PROFILE LIBCLIBS
    4242
     
    4747#define ENDFILES_S { NULL }
    4848
    49 #define STARTLABEL "_start"
     49#define STARTLABEL "__entry"
    5050
    5151#if defined(mach_ia32)
     
    7474
    7575#ifndef STDINC
    76 #define STDINC "/include/"
     76#define STDINC "/inc/c/"
    7777#endif
    7878
     
    8181#endif
    8282
    83 // XXX: what's STABS?
    84 // #define STABS
     83#define STABS
     84
    8585#ifndef ELFABI
    8686#define ELFABI
Note: See TracChangeset for help on using the changeset viewer.