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