X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=StdLib%2FInclude%2Fsys%2Fcdefs_aout.h;h=2eb0a90266738265426e2fb32eab4e466601c746;hb=c21e7a7832f76260a27c5bde30f9593355909279;hp=ce4ca0619393e63db79e72a087cc3f488c506762;hpb=2aa62f2bc9a9654687b377d9ca8a8c2c860a3852;p=mirror_edk2.git diff --git a/StdLib/Include/sys/cdefs_aout.h b/StdLib/Include/sys/cdefs_aout.h index ce4ca06193..2eb0a90266 100644 --- a/StdLib/Include/sys/cdefs_aout.h +++ b/StdLib/Include/sys/cdefs_aout.h @@ -11,70 +11,69 @@ #define _C_LABEL(x) __CONCAT(_,x) #define _C_LABEL_STRING(x) "_"x -#if __STDC__ -#define ___RENAME(x) __asm(___STRING(_C_LABEL(x))) -#else -#define ___RENAME(x) ____RENAME(_/**/x) -#define ____RENAME(x) __asm(___STRING(x)) -#endif +#define ___RENAME(x) #define __indr_reference(sym,alias) /* nada, since we do weak refs */ #ifdef __GNUC__ #if __STDC__ - #ifndef DONT_USE_STRONG_WEAK_ALIAS -#define __strong_alias(alias,sym) \ - __asm(".global " _C_LABEL_STRING(#alias) "\n" \ - _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym)); -#define __weak_alias(alias,sym) \ - __asm(".weak " _C_LABEL_STRING(#alias) "\n" \ - _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym)); - -/* Do not use __weak_extern, use __weak_reference instead */ -#define __weak_extern(sym) \ - __asm(".weak " _C_LABEL_STRING(#sym)); - -#if __GNUC_PREREQ__(4, 0) -#define __weak_reference(sym) __attribute__((__weakref__)) -#else -#define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym)) -#endif - -#define __warn_references(sym,msg) \ - __asm(".stabs \"" msg "\",30,0,0,0"); \ - __asm(".stabs \"_" #sym "\",1,0,0,0"); + #ifndef DONT_USE_STRONG_WEAK_ALIAS + #define __strong_alias(alias,sym) \ + __asm(".global " _C_LABEL_STRING(#alias) "\n" \ + _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym)); + #define __weak_alias(alias,sym) \ + __asm(".weak " _C_LABEL_STRING(#alias) "\n" \ + _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym)); + + /* Do not use __weak_extern, use __weak_reference instead */ + #define __weak_extern(sym) \ + __asm(".weak " _C_LABEL_STRING(#sym)); + + #if __GNUC_PREREQ__(4, 0) + #define __weak_reference(sym) __attribute__((__weakref__)) #else - #define __strong_alias(alias,sym) /* NOTHING */ - #define __weak_alias(alias,sym) /* NOTHING */ - #define __weak_extern(sym) /* NOTHING */ - #define __weak_reference(sym) /* NOTHING */ + #define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym)) + #endif - #define __warn_references(sym,msg) \ - __asm(".stabs \"" msg "\",30,0,0,0"); \ + #define __warn_references(sym,msg) \ + __asm(".stabs \"" msg "\",30,0,0,0"); \ + __asm(".stabs \"_" #sym "\",1,0,0,0"); + #else + #define __strong_alias(alias,sym) /* NOTHING */ + #define __weak_alias(alias,sym) /* NOTHING */ + #define __weak_extern(sym) /* NOTHING */ + #define __weak_reference(sym) /* NOTHING */ + + #if defined(__CC_ARM) || defined(__APPLE__) + #define __warn_references(sym,msg) + #else + #define __warn_references(sym,msg) \ + __asm(".stabs \"" msg "\",30,0,0,0"); \ __asm(".stabs \"_" #sym "\",1,0,0,0"); #endif -#else /* __STDC__ */ -#define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym) -#define ___weak_alias(alias,sym) \ - __asm(".weak alias\nalias = sym"); -/* Do not use __weak_extern, use __weak_reference instead */ -#define __weak_extern(sym) ___weak_extern(_/**/sym) -#define ___weak_extern(sym) \ - __asm(".weak sym"); - -#if __GNUC_PREREQ__(4, 0) -#define __weak_reference(sym) __attribute__((__weakref__)) -#else -#define ___weak_reference(sym) ; __asm(".weak sym"); -#define __weak_reference(sym) ___weak_reference(_/**/sym) -#endif - -#define __warn_references(sym,msg) \ - __asm(".stabs msg,30,0,0,0"); \ - __asm(".stabs \"_/**/sym\",1,0,0,0"); + #endif +#else /* __STDC__ */ + #define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym) + #define ___weak_alias(alias,sym) \ + __asm(".weak alias\nalias = sym"); + /* Do not use __weak_extern, use __weak_reference instead */ + #define __weak_extern(sym) ___weak_extern(_/**/sym) + #define ___weak_extern(sym) \ + __asm(".weak sym"); + + #if __GNUC_PREREQ__(4, 0) + #define __weak_reference(sym) __attribute__((__weakref__)) + #else + #define ___weak_reference(sym) ; __asm(".weak sym"); + #define __weak_reference(sym) ___weak_reference(_/**/sym) + #endif + + #define __warn_references(sym,msg) \ + __asm(".stabs msg,30,0,0,0"); \ + __asm(".stabs \"_/**/sym\",1,0,0,0"); #endif /* __STDC__ */ #else /* __GNUC__ */ -#define __warn_references(sym,msg) + #define __warn_references(sym,msg) #endif /* __GNUC__ */ #if defined(__sh__) /* XXX SH COFF */ @@ -88,7 +87,8 @@ #undef __KERNEL_RCSID -#define __RCSID(_s) __IDSTRING(rcsid,_s) +//#define __RCSID(_s) __IDSTRING(rcsid,_s) +#define __RCSID(_s) #define __SCCSID(_s) #define __SCCSID2(_s) #if 0 /* XXX userland __COPYRIGHTs have \ns in them */