summaryrefslogtreecommitdiff
path: root/compiler/pmodules.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/pmodules.pas')
-rw-r--r--compiler/pmodules.pas23
1 files changed, 8 insertions, 15 deletions
diff --git a/compiler/pmodules.pas b/compiler/pmodules.pas
index 10f799ce81..3f9cb27730 100644
--- a/compiler/pmodules.pas
+++ b/compiler/pmodules.pas
@@ -29,7 +29,6 @@ interface
procedure proc_package;
procedure proc_program(islibrary : boolean);
-
implementation
uses
@@ -47,13 +46,8 @@ implementation
pexports,
objcgutl,
wpobase,
- scanner,pbase,pexpr,psystem,psub,pdecsub,ptype
- ,cpuinfo
-{$ifdef i386}
- { fix me! }
- ,cpubase
-{$endif i386}
- ;
+ scanner,pbase,pexpr,psystem,psub,pdecsub,ptype,
+ cpuinfo;
procedure create_objectfile;
@@ -715,7 +709,7 @@ implementation
end;
{ CPU targets with microcontroller support can add a controller specific unit }
-{$if defined(ARM)}
+{$if defined(ARM) or defined(AVR)}
if (target_info.system in systems_embedded) and (current_settings.controllertype<>ct_none) then
AddUnit(controllerunitstr[current_settings.controllertype]);
{$endif ARM}
@@ -1908,11 +1902,7 @@ implementation
new_section(current_asmdata.asmlists[al_procedures],sec_code,'',0);
current_asmdata.asmlists[al_procedures].concat(tai_symbol.createname_global('_DLLMainCRTStartup',AT_FUNCTION,0));
-{$ifdef i386}
- { fix me! }
- current_asmdata.asmlists[al_procedures].concat(Taicpu.Op_const_reg(A_MOV,S_L,1,NR_EAX));
- current_asmdata.asmlists[al_procedures].concat(Taicpu.Op_const(A_RET,S_W,12));
-{$endif i386}
+ gen_fpc_dummy(current_asmdata.asmlists[al_procedures]);
current_asmdata.asmlists[al_procedures].concat(tai_const.createname('_FPCDummy',0));
{ leave when we got an error }
@@ -2174,7 +2164,7 @@ implementation
{ Insert _GLOBAL_OFFSET_TABLE_ symbol if system uses it }
maybe_load_got;
-
+
{ create whole program optimisation information }
current_module.wpoinfo:=tunitwpoinfo.create;
@@ -2363,6 +2353,9 @@ implementation
InsertWideInitsTablesTable;
InsertMemorySizes;
+ if target_info.system in systems_interrupt_table then
+ InsertInterruptTable;
+
{ Insert symbol to resource info }
InsertResourceInfo(resources_used);