Mercurial > projects > ddmd
diff dmd/backend/iasm.d @ 22:fd4acc376c45
Implemented object file output and linking on linux.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Thu, 08 Apr 2010 04:21:03 +0100 |
parents | 1628b221808d |
children | 3f834bed4f13 |
line wrap: on
line diff
--- a/dmd/backend/iasm.d Wed Apr 07 00:51:29 2010 +0100 +++ b/dmd/backend/iasm.d Thu Apr 08 04:21:03 2010 +0100 @@ -191,15 +191,15 @@ enum mST0 = (1 << ST0); // 0x4000 enum mST01 = (1 << ST01); // 0x8000 -version (XXX) { ///TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS +version (POSIX) { ///TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS // To support positional independent code, // must be able to remove BX from available registers -///extern regm_t ALLREGS; -///#define ALLREGS_INIT (mAX|mBX|mCX|mDX|mSI|mDI) -///#define ALLREGS_INIT_PIC (mAX|mCX|mDX|mSI|mDI) -///extern regm_t BYTEREGS; -///#define BYTEREGS_INIT (mAX|mBX|mCX|mDX) -///#define BYTEREGS_INIT_PIC (mAX|mCX|mDX) +extern (C) extern __gshared regm_t ALLREGS; +enum ALLREGS_INIT = (mAX|mBX|mCX|mDX|mSI|mDI); +enum ALLREGS_INIT_PIC = (mAX|mCX|mDX|mSI|mDI); +extern (C) extern regm_t BYTEREGS; +enum BYTEREGS_INIT = (mAX|mBX|mCX|mDX); +enum BYTEREGS_INIT_PIC = (mAX|mCX|mDX); } else { enum ALLREGS = (mAX|mBX|mCX|mDX|mSI|mDI); ///#define ALLREGS_INIT ALLREGS