Skip to content

Commit

Permalink
add TARGET_OPENBSD
Browse files Browse the repository at this point in the history
  • Loading branch information
WalterBright committed May 15, 2011
1 parent 7c66746 commit acdd292
Show file tree
Hide file tree
Showing 29 changed files with 113 additions and 96 deletions.
12 changes: 6 additions & 6 deletions src/backend/cc.h
Expand Up @@ -82,7 +82,7 @@ enum WM
WM_badnumber = 24,
WM_ccast = 25,
WM_obsolete = 26,
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
WM_skip_attribute = 27, // skip GNUC attribute specification
WM_warning_message = 28, // preprocessor warning message
WM_bad_vastart = 29, // args for builtin va_start bad
Expand Down Expand Up @@ -146,7 +146,7 @@ enum LANG
#include "msgs2.h"
#endif
#include "ty.h"
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#include "../tk/mem.h"
#else
#include "mem.h"
Expand Down Expand Up @@ -745,7 +745,7 @@ typedef struct FUNC_S
#define Fnteh 0x08 // uses NT Structured EH
#define Fdoinline 0x40 // do inline walk
#define Foverridden 0x80 // ignore for overriding purposes
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define Fnowrite 0x100 // SCinline should never output definition
#else
#define Fjmonitor 0x100 // Jupiter synchronized function
Expand Down Expand Up @@ -800,7 +800,7 @@ typedef struct FUNC_S
// of SCftexpspec explicit specializations
Funcsym *Fsurrogatesym; // Fsurrogate: surrogate cast function

#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
char *Fredirect; // redirect function name to this name in object
#endif
TARGET_structFUNC_S
Expand Down Expand Up @@ -1325,7 +1325,7 @@ struct Symbol
#define SFLmutable 0x100000 // SCmember or SCfield is mutable
#define SFLdyninit 0x200000 // symbol has dynamic initializer
#define SFLtmp 0x400000 // symbol is a generated temporary
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define SFLthunk 0x40000 // symbol is temporary for thunk
#endif

Expand Down Expand Up @@ -1544,7 +1544,7 @@ enum FL
FLallocatmp, // temp for built-in alloca()
FLstack, // offset from ESP rather than EBP
FLdsymbol, // it's a Dsymbol
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
// Change this, update debug.c too
FLgot, // global offset table entry outside this object file
FLgotoff, // global offset table entry inside this object file
Expand Down
15 changes: 9 additions & 6 deletions src/backend/cdef.h
Expand Up @@ -194,7 +194,7 @@ One and only one of these macros must be set by the makefile:

// This is the default
#ifndef TARGET_WINDOS
#define TARGET_WINDOS (!(TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS))
#define TARGET_WINDOS (!(TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS))
#endif

#if __GNUC__
Expand Down Expand Up @@ -479,7 +479,7 @@ typedef unsigned targ_uns;
#define DOUBLESIZE 8
#if TARGET_OSX
#define LNGDBLSIZE 16 // 80 bit reals
#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define LNGDBLSIZE 12 // 80 bit reals
#else
#define LNGDBLSIZE 10 // 80 bit reals
Expand Down Expand Up @@ -530,7 +530,7 @@ typedef targ_uns targ_size_t; /* size_t for the target machine */
#define OMFOBJ TARGET_WINDOS
#endif
#ifndef ELFOBJ
#define ELFOBJ (TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS)
#define ELFOBJ (TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS)
#endif
#ifndef MACHOBJ
#define MACHOBJ TARGET_OSX
Expand Down Expand Up @@ -725,9 +725,12 @@ struct Config
#define EX_FREEBSD64 0x80000
#define EX_SOLARIS 0x100000
#define EX_SOLARIS64 0x200000
#define EX_OPENBSD 0x400000
#define EX_OPENBSD64 0x800000

#define EX_flat (EX_OS2 | EX_NT | EX_LINUX | EX_WIN64 | EX_LINUX64 | \
EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | \
EX_OPENBSD | EX_OPENBSD64 | \
EX_SOLARIS | EX_SOLARIS64)
#define EX_dos (EX_DOSX | EX_ZPM | EX_RATIONAL | EX_PHARLAP | \
EX_COM | EX_MZ /*| EX_WIN16*/)
Expand Down Expand Up @@ -781,7 +784,7 @@ struct Config
#define CFG3relax 0x200 // relaxed type checking (C only)
#define CFG3cpp 0x400 // C++ compile
#define CFG3igninc 0x800 // ignore standard include directory
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define CFG3mars 0x1000 // use mars libs and headers
#define NO_FAR (TRUE) // always ignore __far and __huge keywords
#else
Expand All @@ -793,7 +796,7 @@ struct Config
#define CFG3cppcomment 0x8000 // allow C++ style comments
#define CFG3wkfloat 0x10000 // make floating point references weak externs
#define CFG3digraphs 0x20000 // support ANSI C++ digraphs
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define CFG3semirelax 0x40000 // moderate relaxed type checking
#endif
#define CFG3pic 0x80000 // position independent code
Expand Down Expand Up @@ -1003,7 +1006,7 @@ union eve
#define SYMBOLZERO
#endif

#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define UNIXFIELDS (unsigned)-1,(unsigned)-1,0,0,
#elif TARGET_OSX
#define UNIXFIELDS (unsigned)-1,(unsigned)-1,0,0,0,
Expand Down
10 changes: 5 additions & 5 deletions src/backend/cgcod.c
Expand Up @@ -129,7 +129,7 @@ void codgen()
csmax = 64;
csextab = (struct CSE *) util_calloc(sizeof(struct CSE),csmax);
functy = tybasic(funcsym_p->ty());
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (0 && config.flags3 & CFG3pic)
{
ALLREGS = ALLREGS_INIT_PIC;
Expand Down Expand Up @@ -1012,7 +1012,7 @@ STATIC void blcodgen(block *bl)
#endif
if (config.flags2 & CFG2seh)
c = cat(c,nteh_unwind(0,toindex));
#if MARS && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS)
#if MARS && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS)
else if (toindex + 1 <= fromindex)
{
//c = cat(c, linux_unwind(0, toindex));
Expand Down Expand Up @@ -1104,7 +1104,7 @@ STATIC void blcodgen(block *bl)
assert(!getregs(allregs));
assert(!e);
assert(!bl->Bcode);
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (config.flags3 & CFG3pic)
{
int nalign = 0;
Expand Down Expand Up @@ -1581,7 +1581,7 @@ regm_t regmask(tym_t tym, tym_t tyf)
return mST0;

case TYcfloat:
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (I32 && tybasic(tyf) == TYnfunc)
return mDX | mAX;
#endif
Expand Down Expand Up @@ -2544,7 +2544,7 @@ if (regcon.cse.mval & 1) elem_print(regcon.cse.value[i]);
case OPrelconst:
c = cdrelconst(e,pretregs);
break;
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
case OPgot:
c = cdgot(e,pretregs);
break;
Expand Down
4 changes: 2 additions & 2 deletions src/backend/cgelem.c
Expand Up @@ -831,7 +831,7 @@ STATIC elem * eladd(elem *e)
e2 = e->E2;
if (e2->Eoper == OPconst)
{
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (e1->Eoper == OPrelconst && e1->EV.sp.Vsym->Sfl == FLgot)
goto ret;
#endif
Expand All @@ -846,7 +846,7 @@ STATIC elem * eladd(elem *e)
}
else if (e1->Eoper == OPconst)
{
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (e2->Eoper == OPrelconst && e2->EV.sp.Vsym->Sfl == FLgot)
goto ret;
#endif
Expand Down
14 changes: 7 additions & 7 deletions src/backend/cod1.c
Expand Up @@ -1354,7 +1354,7 @@ code *getlvalue(code *pcs,elem *e,regm_t keepmsk)
case FLextern:
if (s->Sident[0] == '_' && memcmp(s->Sident + 1,"tls_array",10) == 0)
{
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
// Rewrite as GS:[0000], or FS:[0000] for 64 bit
if (I64)
{
Expand Down Expand Up @@ -1383,7 +1383,7 @@ code *getlvalue(code *pcs,elem *e,regm_t keepmsk)
case FLdata:
case FLudata:
case FLcsdata:
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
case FLgot:
case FLgotoff:
case FLtlsdata:
Expand Down Expand Up @@ -1417,7 +1417,7 @@ code *getlvalue(code *pcs,elem *e,regm_t keepmsk)
{
pcs->Iflags |= CFcs | CFoff;
}
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (I64 && config.flags3 & CFG3pic &&
(fl == FLtlsdata || s->ty() & mTYthread))
{
Expand Down Expand Up @@ -2048,12 +2048,12 @@ code *callclib(elem *e,unsigned clib,regm_t *pretregs,regm_t keepmask)
{
//printf("callclib(e = %p, clib = %d, *pretregs = %s, keepmask = %s\n", e, clib, regm_str(*pretregs), regm_str(keepmask));
//elem_print(e);
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
static symbol lib[] =
{
/* Convert destroyed regs into saved regs */
#define Z(desregs) (~(desregs) & (mBP| mES | ALLREGS))
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
#define N(name) "_" name
#else
#define N(name) name
Expand Down Expand Up @@ -2274,7 +2274,7 @@ code *callclib(elem *e,unsigned clib,regm_t *pretregs,regm_t keepmask)
{DOUBLEREGS_16,DOUBLEREGS_32,0,INFfloat,1,1}, // _INTDBL@ intdbl
{mAX,mAX,0,INFfloat,1,1}, // _DBLUNS@ dbluns
{DOUBLEREGS_16,DOUBLEREGS_32,0,INFfloat,1,1}, // _UNSDBL@ unsdbl
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
{mDX|mAX,mAX,0,INF32|INFfloat,0,1}, // _DBLULNG@ dblulng
#else
{mDX|mAX,mAX,0,INFfloat,1,1}, // _DBLULNG@ dblulng
Expand All @@ -2287,7 +2287,7 @@ code *callclib(elem *e,unsigned clib,regm_t *pretregs,regm_t keepmask)

{DOUBLEREGS_16,mDX|mAX,0,INFfloat,1,1}, // _DBLLLNG@
{DOUBLEREGS_16,DOUBLEREGS_32,0,INFfloat,1,1}, // _LLNGDBL@
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
{DOUBLEREGS_16,mDX|mAX,0,INFfloat,2,2}, // _DBLULLNG@
#else
{DOUBLEREGS_16,mDX|mAX,0,INFfloat,1,1}, // _DBLULLNG@
Expand Down
12 changes: 6 additions & 6 deletions src/backend/cod2.c
Expand Up @@ -151,7 +151,7 @@ code *cdorth(elem *e,regm_t *pretregs)

ty1 = tybasic(e1->Ety);
if (tyfloating(ty1))
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
return orth87(e,pretregs);
#else
return opdouble(e,pretregs,(e->Eoper == OPadd) ? CLIBdadd
Expand Down Expand Up @@ -826,7 +826,7 @@ code *cdmul(elem *e,regm_t *pretregs)
unsigned grex = rex << 16;

if (tyfloating(tyml))
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
return orth87(e,pretregs);
#else
return opdouble(e,pretregs,(oper == OPmul) ? CLIBdmul : CLIBddiv);
Expand Down Expand Up @@ -3826,7 +3826,7 @@ code *getoffset(elem *e,unsigned reg)
goto L4;

case FLtlsdata:
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
{
L5:
if (I64 && config.flags3 & CFG3pic)
Expand Down Expand Up @@ -3918,13 +3918,13 @@ code *getoffset(elem *e,unsigned reg)
goto L4;

case FLextern:
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (e->EV.sp.Vsym->ty() & mTYthread)
goto L5;
#endif
case FLdata:
case FLudata:
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
case FLgot:
case FLgotoff:
#endif
Expand Down Expand Up @@ -4218,7 +4218,7 @@ code *cdpost(elem *e,regm_t *pretregs)

if (tyfloating(tyml))
{
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
return post87(e,pretregs);
#else
if (config.inline8087)
Expand Down
20 changes: 10 additions & 10 deletions src/backend/cod3.c
Expand Up @@ -290,7 +290,7 @@ void cod3_set64()
DOUBLEREGS = DOUBLEREGS_64;
STACKALIGN = 16;

#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
ALLREGS = mAX|mBX|mCX|mDX|mSI|mDI| mR8|mR9|mR10|mR11|mR12|mR13|mR14|mR15;
BYTEREGS = ALLREGS;
#endif
Expand Down Expand Up @@ -544,7 +544,7 @@ void doswitch(block *b)
genjmp(c,JNE,FLblock,list_block(b->Bsucc)); /* JNE default */
}
ce = getregs(mCX|mDI);
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (config.flags3 & CFG3pic)
{ // Add in GOT
code *cx;
Expand Down Expand Up @@ -624,7 +624,7 @@ void doswitch(block *b)
mod = (disp > 127) ? 2 : 1; /* 1 or 2 byte displacement */
if (config.flags & CFGromable)
gen1(ce,SEGCS); /* table is in code segment */
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
if (config.flags3 & CFG3pic)
{ // ADD EDX,(ncases-1)*2[EDI]
ct = genc1(CNIL,0x03,modregrm(mod,DX,7),FLconst,disp);
Expand Down Expand Up @@ -1128,7 +1128,7 @@ code *cdgot(elem *e, regm_t *pretregs)
gen1(c, 0x58 + reg); // L1: POP reg

return cat(c,fixresult(e,retregs,pretregs));
#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
regm_t retregs;
unsigned reg;
code *c;
Expand Down Expand Up @@ -1161,7 +1161,7 @@ code *cdgot(elem *e, regm_t *pretregs)
#endif
}

#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
/*****************************
* Returns:
* # of bytes stored
Expand Down Expand Up @@ -2277,7 +2277,7 @@ targ_size_t cod3_spoff()

code *cod3_load_got()
{
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
code *c;
code *cgot;

Expand Down Expand Up @@ -2465,7 +2465,7 @@ void cod3_thunk(symbol *sthunk,symbol *sfunc,unsigned p,tym_t thisty,
sthunk->Soffset = thunkoffset;
sthunk->Ssize = Coffset - thunkoffset; /* size of thunk */
sthunk->Sseg = cseg;
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
objpubdef(cseg,sthunk,sthunk->Soffset);
#endif
searchfixlist(sthunk); /* resolve forward refs */
Expand Down Expand Up @@ -4497,7 +4497,7 @@ STATIC void do64bit(enum FL fl,union evc *uev,int flags)
// un-named external with is the start of .rodata or .data
case FLextern: /* external data symbol */
case FLtlsdata:
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
case FLgot:
case FLgotoff:
#endif
Expand Down Expand Up @@ -4590,7 +4590,7 @@ STATIC void do32bit(enum FL fl,union evc *uev,int flags, targ_size_t val)
// un-named external with is the start of .rodata or .data
case FLextern: /* external data symbol */
case FLtlsdata:
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
case FLgot:
case FLgotoff:
#endif
Expand Down Expand Up @@ -4823,7 +4823,7 @@ void searchfixlist(symbol *s)
// resolve directly.
if (s->Sseg == p->Lseg &&
(s->Sclass == SCstatic ||
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_OPENBSD || TARGET_SOLARIS
(!(config.flags3 & CFG3pic) && s->Sclass == SCglobal)) &&
#else
s->Sclass == SCglobal) &&
Expand Down

0 comments on commit acdd292

Please sign in to comment.