comparison 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
comparison
equal deleted inserted replaced
21:26b9f97f6162 22:fd4acc376c45
189 enum mOTHER = (1 << OTHER); // 0x2000 189 enum mOTHER = (1 << OTHER); // 0x2000
190 190
191 enum mST0 = (1 << ST0); // 0x4000 191 enum mST0 = (1 << ST0); // 0x4000
192 enum mST01 = (1 << ST01); // 0x8000 192 enum mST01 = (1 << ST01); // 0x8000
193 193
194 version (XXX) { ///TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS 194 version (POSIX) { ///TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
195 // To support positional independent code, 195 // To support positional independent code,
196 // must be able to remove BX from available registers 196 // must be able to remove BX from available registers
197 ///extern regm_t ALLREGS; 197 extern (C) extern __gshared regm_t ALLREGS;
198 ///#define ALLREGS_INIT (mAX|mBX|mCX|mDX|mSI|mDI) 198 enum ALLREGS_INIT = (mAX|mBX|mCX|mDX|mSI|mDI);
199 ///#define ALLREGS_INIT_PIC (mAX|mCX|mDX|mSI|mDI) 199 enum ALLREGS_INIT_PIC = (mAX|mCX|mDX|mSI|mDI);
200 ///extern regm_t BYTEREGS; 200 extern (C) extern regm_t BYTEREGS;
201 ///#define BYTEREGS_INIT (mAX|mBX|mCX|mDX) 201 enum BYTEREGS_INIT = (mAX|mBX|mCX|mDX);
202 ///#define BYTEREGS_INIT_PIC (mAX|mCX|mDX) 202 enum BYTEREGS_INIT_PIC = (mAX|mCX|mDX);
203 } else { 203 } else {
204 enum ALLREGS = (mAX|mBX|mCX|mDX|mSI|mDI); 204 enum ALLREGS = (mAX|mBX|mCX|mDX|mSI|mDI);
205 ///#define ALLREGS_INIT ALLREGS 205 ///#define ALLREGS_INIT ALLREGS
206 ///#undef BYTEREGS 206 ///#undef BYTEREGS
207 ///#define BYTEREGS (mAX|mBX|mCX|mDX) 207 ///#define BYTEREGS (mAX|mBX|mCX|mDX)