2
0
Эх сурвалжийг харах

+ introduce tf_no_objectfiles_when_smartlinking so object file generation on i8086-msdos can be turned off
* object file generation on i8086-msdos can be turned off if smartlinking is enabled

git-svn-id: trunk@24396 -

florian 12 жил өмнө
parent
commit
5e0585c0d0

+ 2 - 1
compiler/pmodules.pas

@@ -99,7 +99,8 @@ implementation
           current_debuginfo.insertmoduleinfo;
 
         { create the .s file and assemble it }
-        GenerateAsm(false);
+        if not(create_smartlink_library) or not(tf_no_objectfiles_when_smartlinking in target_info.flags) then
+          GenerateAsm(false);
 
         { Also create a smartlinked version ? }
         if create_smartlink_library then

+ 4 - 1
compiler/systems.pas

@@ -153,7 +153,10 @@ interface
             tf_safecall_clearstack,             // With this flag set, after safecall calls the caller cleans up the stack
             tf_safecall_exceptions,             // Exceptions in safecall calls are not raised, but passed to the caller as an ordinal (hresult) in the function result.
                                                 // The original result (if it exists) is passed as an extra parameter
-            tf_no_backquote_support
+            tf_no_backquote_support,
+            { do not generate an object file when smartlinking is turned on,
+              this is usefull for architectures which require a small code footprint }
+            tf_no_objectfiles_when_smartlinking
        );
 
        psysteminfo = ^tsysteminfo;

+ 2 - 1
compiler/systems/i_msdos.pas

@@ -34,7 +34,8 @@ unit i_msdos;
             system       : system_i8086_msdos;
             name         : 'MS-DOS 16-bit real mode';
             shortname    : 'MSDOS';
-            flags        : [tf_use_8_3,tf_smartlink_library,tf_smartlink_sections];
+            flags        : [tf_use_8_3,tf_smartlink_library,tf_smartlink_sections,
+                            tf_no_objectfiles_when_smartlinking];
             cpu          : cpu_i8086;
             unit_env     : 'MSDOSUNITS';
             extradefines : '';