mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 09:09:47 +01:00
+ -go<x> switch for debugging options (some global switches could be
moved to it)
+ -go[no]dwarfsets switch to [disable]/enable generation of dwarf set
information, as this breaks gdb < 6.5 (used to be disabled in the
compiler by an ifdef, still off by default)
git-svn-id: trunk@8414 -
This commit is contained in:
parent
9888e674cc
commit
488cfa3c32
@ -2779,35 +2779,37 @@ implementation
|
||||
|
||||
procedure TDebugInfoDwarf2.appenddef_set(def: tsetdef);
|
||||
begin
|
||||
{$ifdef GDB_SUPPORTS_DWARF_SETS}
|
||||
{ current (20070704 -- patch was committed on 20060513) gdb cvs supports set types }
|
||||
if (ds_dwarf_sets in current_settings.debugswitches) then
|
||||
begin
|
||||
{ current (20070704 -- patch was committed on 20060513) gdb cvs supports set types }
|
||||
|
||||
if assigned(def.typesym) then
|
||||
append_entry(DW_TAG_set_type,false,[
|
||||
DW_AT_name,DW_FORM_string,symname(def.typesym)+#0,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
])
|
||||
if assigned(def.typesym) then
|
||||
append_entry(DW_TAG_set_type,false,[
|
||||
DW_AT_name,DW_FORM_string,symname(def.typesym)+#0,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
])
|
||||
else
|
||||
append_entry(DW_TAG_set_type,false,[
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
]);
|
||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.elementdef));
|
||||
end
|
||||
else
|
||||
append_entry(DW_TAG_set_type,false,[
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
]);
|
||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.elementdef));
|
||||
{$else GDB_SUPPORTS_DWARF_SETS}
|
||||
{ at least gdb up to 6.4 doesn't support sets in dwarf, there is a patch available to fix this:
|
||||
http://sources.redhat.com/ml/gdb-patches/2005-05/msg00278.html (FK) }
|
||||
|
||||
if assigned(def.typesym) then
|
||||
append_entry(DW_TAG_base_type,false,[
|
||||
DW_AT_name,DW_FORM_string,symname(def.typesym)+#0,
|
||||
DW_AT_encoding,DW_FORM_data1,DW_ATE_unsigned,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
])
|
||||
else
|
||||
append_entry(DW_TAG_base_type,false,[
|
||||
DW_AT_encoding,DW_FORM_data1,DW_ATE_unsigned,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
]);
|
||||
{$endif GDB_SUPPORTS_DWARF_SETS}
|
||||
begin
|
||||
{ gdb versions which don't support sets refuse to load the debug }
|
||||
{ info of modules that contain set tags }
|
||||
if assigned(def.typesym) then
|
||||
append_entry(DW_TAG_base_type,false,[
|
||||
DW_AT_name,DW_FORM_string,symname(def.typesym)+#0,
|
||||
DW_AT_encoding,DW_FORM_data1,DW_ATE_unsigned,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
])
|
||||
else
|
||||
append_entry(DW_TAG_base_type,false,[
|
||||
DW_AT_encoding,DW_FORM_data1,DW_ATE_unsigned,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
]);
|
||||
end;
|
||||
finish_entry;
|
||||
end;
|
||||
|
||||
|
||||
@ -110,6 +110,7 @@ interface
|
||||
localswitches : tlocalswitches;
|
||||
modeswitches : tmodeswitches;
|
||||
optimizerswitches : toptimizerswitches;
|
||||
debugswitches : tdebugswitches;
|
||||
{ 0: old behaviour for sets <=256 elements
|
||||
>0: round to this size }
|
||||
setalloc,
|
||||
@ -335,6 +336,7 @@ interface
|
||||
function SetFpuType(const s:string;var a:tfputype):boolean;
|
||||
function UpdateAlignmentStr(s:string;var a:talignmentinfo):boolean;
|
||||
function UpdateOptimizerStr(s:string;var a:toptimizerswitches):boolean;
|
||||
function UpdateDebugStr(s:string;var a:tdebugswitches):boolean;
|
||||
function IncludeFeature(const s : string) : boolean;
|
||||
function SetMinFPConstPrec(const s: string; var a: tfloattype) : boolean;
|
||||
|
||||
@ -971,6 +973,48 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
function UpdateDebugStr(s:string;var a:tdebugswitches):boolean;
|
||||
var
|
||||
tok : string;
|
||||
doset,
|
||||
found : boolean;
|
||||
opt : tdebugswitch;
|
||||
begin
|
||||
result:=true;
|
||||
uppervar(s);
|
||||
repeat
|
||||
tok:=GetToken(s,',');
|
||||
if tok='' then
|
||||
break;
|
||||
if Copy(tok,1,2)='NO' then
|
||||
begin
|
||||
delete(tok,1,2);
|
||||
doset:=false;
|
||||
end
|
||||
else
|
||||
doset:=true;
|
||||
found:=false;
|
||||
for opt:=low(tdebugswitch) to high(tdebugswitch) do
|
||||
begin
|
||||
if DebugSwitchStr[opt]=tok then
|
||||
begin
|
||||
found:=true;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
if found then
|
||||
begin
|
||||
if doset then
|
||||
include(a,opt)
|
||||
else
|
||||
exclude(a,opt);
|
||||
end
|
||||
else
|
||||
result:=false;
|
||||
until false;
|
||||
end;
|
||||
|
||||
|
||||
function IncludeFeature(const s : string) : boolean;
|
||||
var
|
||||
i : tfeature;
|
||||
@ -1170,6 +1214,7 @@ implementation
|
||||
init_settings.moduleswitches:=[cs_extsyntax,cs_implicit_exceptions];
|
||||
init_settings.globalswitches:=[cs_check_unit_name,cs_link_static];
|
||||
init_settings.optimizerswitches:=[];
|
||||
init_settings.debugswitches:=[];
|
||||
init_settings.sourcecodepage:='8859-1';
|
||||
init_settings.packenum:=4;
|
||||
init_settings.setalloc:=0;
|
||||
|
||||
@ -133,6 +133,16 @@ interface
|
||||
);
|
||||
tglobalswitches = set of tglobalswitch;
|
||||
|
||||
{ global switches specific to debug information }
|
||||
tdebugswitch = (ds_none,
|
||||
{ enable set support in dwarf debug info, breaks gdb versions }
|
||||
{ without support for that tag (they refuse to parse the rest }
|
||||
{ of the debug information) }
|
||||
ds_dwarf_sets
|
||||
);
|
||||
tdebugswitches = set of tdebugswitch;
|
||||
|
||||
|
||||
{ adding a new entry here requires also adding the appropriate define in
|
||||
systemh.inc (FK)
|
||||
}
|
||||
@ -161,6 +171,9 @@ interface
|
||||
'PEEPHOLE','ASMCSE','LOOPUNROLL','TAILREC','CSE','DFA'
|
||||
);
|
||||
|
||||
DebugSwitchStr : array[tdebugswitch] of string[9] = ('',
|
||||
'DWARFSETS');
|
||||
|
||||
{ switches being applied to all CPUs at the given level }
|
||||
genericlevel1optimizerswitches = [cs_opt_level1];
|
||||
genericlevel2optimizerswitches = [cs_opt_level2];
|
||||
|
||||
@ -2544,6 +2544,8 @@ S*2Aas_Assemble using GNU AS
|
||||
*g2gg_Use gsym
|
||||
*g2gh_Use heaptrace unit (for memory leak/corruption debugging)
|
||||
*g2gl_Use line info unit (show more info with backtraces)
|
||||
*g2go<x>_Set debug information options
|
||||
*g3godwarfsets_ Enable Dwarf set debug information (breaks gdb < 6.5)
|
||||
*g2gp_Preserve case in stabs symbol names
|
||||
*g2gs_Generate stabs debug information
|
||||
*g2gt_Trash local variables (to detect uninitialized uses)
|
||||
|
||||
@ -731,7 +731,7 @@ const
|
||||
option_info=11024;
|
||||
option_help_pages=11025;
|
||||
|
||||
MsgTxtSize = 45067;
|
||||
MsgTxtSize = 45176;
|
||||
|
||||
MsgIdxMax : array[1..20] of longint=(
|
||||
24,86,237,83,63,49,107,22,135,60,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{$ifdef Delphi}
|
||||
const msgtxt : array[0..000187] of string[240]=(
|
||||
const msgtxt : array[0..000188] of string[240]=(
|
||||
{$else Delphi}
|
||||
const msgtxt : array[0..000187,1..240] of char=(
|
||||
const msgtxt : array[0..000188,1..240] of char=(
|
||||
{$endif Delphi}
|
||||
'01000_T_Compiler: $1'#000+
|
||||
'01001_D_Compiler OS: $1'#000+
|
||||
@ -921,163 +921,168 @@ const msgtxt : array[0..000187,1..240] of char=(
|
||||
'*g2gg_Use gsym'#010+
|
||||
'*g2gh_Use heaptrace unit (for memory leak/corruption debugging)'#010+
|
||||
'*g2gl_Use line info unit (show more info with backtraces)'#010+
|
||||
'*g2go<x>_Set debug information options'#010+
|
||||
'*g3godwarfsets_ Enable Dwarf set deb','ug information (breaks gdb < 6.5'+
|
||||
')'#010+
|
||||
'*g2gp_Preserve case in stabs symbol names'#010+
|
||||
'*g2gs_Generate stabs debug inform','ation'#010+
|
||||
'*g2gs_Generate stabs debug information'#010+
|
||||
'*g2gt_Trash local variables (to detect uninitialized uses)'#010+
|
||||
'*g2gv_Generates programs traceable with valgrind'#010+
|
||||
'*g2gw_Generate dwarf-2 debug information (same as -gw2)'#010+
|
||||
'*g2gw_Generate dw','arf-2 debug information (same as -gw2)'#010+
|
||||
'*g2gw2_Generate dwarf-2 debug information'#010+
|
||||
'*g2gw3_Generate dwarf-3 debu','g information'#010+
|
||||
'*g2gw3_Generate dwarf-3 debug information'#010+
|
||||
'**1i_Information'#010+
|
||||
'**2iD_Return compiler date'#010+
|
||||
'**2iV_Return short compiler version'#010+
|
||||
'**2iW_Return full compiler version'#010+
|
||||
'**2iSO_Return compiler OS'#010+
|
||||
'**','2iSO_Return compiler OS'#010+
|
||||
'**2iSP_Return compiler host processor'#010+
|
||||
'**2iTO_Return target OS'#010+
|
||||
'**2iTP_Return target pr','ocessor'#010+
|
||||
'**2iTP_Return target processor'#010+
|
||||
'**1I<x>_Add <x> to include path'#010+
|
||||
'**1k<x>_Pass <x> to the linker'#010+
|
||||
'**1l_Write logo'#010+
|
||||
'**1M<x>_Set language mode to <x>'#010+
|
||||
'**2Mfpc_Free Pascal dialect (default)'#010+
|
||||
'**2Mfpc_Fre','e Pascal dialect (default)'#010+
|
||||
'**2Mobjfpc_FPC mode with Object Pascal support'#010+
|
||||
'**2Mdelphi_Delphi 7 compatibility m','ode'#010+
|
||||
'**2Mdelphi_Delphi 7 compatibility mode'#010+
|
||||
'**2Mtp_TP/BP 7.0 compatibility mode'#010+
|
||||
'**2Mmacpas_Macintosh Pascal dialects compatibility mode'#010+
|
||||
'**1n_Do not read the default config files'#010+
|
||||
'**1n_Do not read the default config',' files'#010+
|
||||
'**1N<x>_Node tree optimizations'#010+
|
||||
'**2Nu_Unroll loops'#010+
|
||||
'**1o<x>_Change the name of the executable produced ','to <x>'#010+
|
||||
'**1o<x>_Change the name of the executable produced to <x>'#010+
|
||||
'**1O<x>_Optimizations:'#010+
|
||||
'**2O-_Disable optimizations'#010+
|
||||
'**2O1_Level 1 optimizations (quick and debugger friendly)'#010+
|
||||
'**2O2_Level 2 optimizations (-O1 + quick optimizations)'#010+
|
||||
'**2O2_Level 2 o','ptimizations (-O1 + quick optimizations)'#010+
|
||||
'**2O3_Level 3 optimizations (-O2 + slow optimizations)'#010+
|
||||
'**2Oa<x>=<y>_','Set alignment'#010+
|
||||
'**2Oa<x>=<y>_Set alignment'#010+
|
||||
'**2Oo[NO]<x>_Enable or disable optimizations, see fpc -i for possible '+
|
||||
'values'#010+
|
||||
'**2Op<x>_Set target cpu for optimizing, see fpc -i for possible values'+
|
||||
#010+
|
||||
'**2Op<x>_Set target cpu for optimizing, ','see fpc -i for possible valu'+
|
||||
'es'#010+
|
||||
'**2Os_Optimize for size rather than speed'#010+
|
||||
'**1pg_Generate profile code for gpro','f (defines FPC_PROFILE)'#010+
|
||||
'**1pg_Generate profile code for gprof (defines FPC_PROFILE)'#010+
|
||||
'**1R<x>_Assembler reading style:'#010+
|
||||
'**2Rdefault_Use default assembler for target'#010+
|
||||
'3*2Ratt_Read AT&T style assembler'#010+
|
||||
'3*2Ratt_Read AT&T style assem','bler'#010+
|
||||
'3*2Rintel_Read Intel style assembler'#010+
|
||||
'6*2RMOT_Read motorola style assembler'#010+
|
||||
'**1S<x>_Syntax options:'#010+
|
||||
'**2S2','_Same as -Mobjfpc'#010+
|
||||
'**2S2_Same as -Mobjfpc'#010+
|
||||
'**2Sc_Support operators like C (*=,+=,/= and -=)'#010+
|
||||
'**2Sa_Turn on assertions'#010+
|
||||
'**2Sd_Same as -Mdelphi'#010+
|
||||
'**2Se<x>_Error options. <x> is a combination of the following:'#010+
|
||||
'**3*_<n> : Compiler halts after the <n> errors (default is 1)'#010,
|
||||
'**2Se<x>_Error o','ptions. <x> is a combination of the following:'#010+
|
||||
'**3*_<n> : Compiler halts after the <n> errors (default is 1)'#010+
|
||||
'**3*_w : Compiler also halts after warnings'#010+
|
||||
'**3*_n : Compiler also halts after notes'#010+
|
||||
'**3*_h : Compiler also halts after hints'#010+
|
||||
'**2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)'#010+
|
||||
'**2Sh_Use ansistrings by default instead of shortstring','s'#010+
|
||||
'**2Sg','_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)'#010+
|
||||
'**2Sh_Use ansistrings by default instead of shortstrings'#010+
|
||||
'**2Si_Turn on inlining of procedures/functions declared as "inline"'#010+
|
||||
'**2Sk_Load fpcylix unit'#010+
|
||||
'**2SI<x>_Set interface style to <x>'#010+
|
||||
'**3SIcom_COM compatible interface (default)'#010+
|
||||
'*','*3SIcom_COM compatible interface (default)'#010+
|
||||
'**3SIcorba_CORBA compatible interface'#010+
|
||||
'**2Sm_Support macros like C ','(global)'#010+
|
||||
'**2Sm_Support macros like C (global)'#010+
|
||||
'**2So_Same as -Mtp'#010+
|
||||
'**2Ss_Constructor name must be init (destructor must be done)'#010+
|
||||
'**2St_Allow static keyword in objects'#010+
|
||||
'**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)'#010+
|
||||
'**2','Sx_Enable exception keywords (default in Delphi/ObjFPC modes)'#010+
|
||||
'**1s_Do not call assembler and linker'#010+
|
||||
'**2sh_Gen','erate script to link on host'#010+
|
||||
'**2sh_Generate script to link on host'#010+
|
||||
'**2st_Generate script to link on target'#010+
|
||||
'**2sr_Skip register allocation phase (use with -alr)'#010+
|
||||
'**1T<x>_Target operating system:'#010+
|
||||
'**1T<x>_T','arget operating system:'#010+
|
||||
'3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+
|
||||
'3*2Tfreebsd_FreeBSD'#010+
|
||||
'3*2Tgo32v2_Vers','ion 2 of DJ Delorie DOS extender'#010+
|
||||
'3*2Tgo32v2_Version 2 of DJ Delorie DOS extender'#010+
|
||||
'3*2Tlinux_Linux'#010+
|
||||
'3*2Tnetbsd_NetBSD'#010+
|
||||
'3*2Tnetware_Novell Netware Module (clib)'#010+
|
||||
'3*2Tnetwlibc_Novell Netware Module (libc)'#010+
|
||||
'3*2Tnetwlibc_Novell Net','ware Module (libc)'#010+
|
||||
'3*2Topenbsd_OpenBSD'#010+
|
||||
'3*2Tos2_OS/2 / eComStation'#010+
|
||||
'3*2Tsunos_SunOS/Solaris'#010+
|
||||
'3*2Twatcom_Watcom c','ompatible DOS extender'#010+
|
||||
'3*2Twatcom_Watcom compatible DOS extender'#010+
|
||||
'3*2Twdosx_WDOSX DOS extender'#010+
|
||||
'3*2Twin32_Windows 32 Bit'#010+
|
||||
'3*2Twince_Windows CE'#010+
|
||||
'4*2Tlinux_Linux'#010+
|
||||
'6*2Tamiga_Commodore Amiga'#010+
|
||||
'6*2Tamiga_Commodo','re Amiga'#010+
|
||||
'6*2Tatari_Atari ST/STe/TT'#010+
|
||||
'6*2Tlinux_Linux/m68k'#010+
|
||||
'6*2Tmacos_Macintosh m68k (not supported)'#010+
|
||||
'6*2Tpalmos_P','almOS'#010+
|
||||
'6*2Tpalmos_PalmOS'#010+
|
||||
'A*2Tlinux_Linux'#010+
|
||||
'A*2Twince_Windows CE'#010+
|
||||
'P*2Tamiga_AmigaOS on PowerPC'#010+
|
||||
'P*2Tdarwin_Darwin and Mac OS X on PowerPC'#010+
|
||||
'P*2Tlinux_Linux on PowerPC'#010+
|
||||
'P*2Tlinux_Linux o','n PowerPC'#010+
|
||||
'P*2Tmacos_Mac OS (classic) on PowerPC'#010+
|
||||
'P*2Tmorphos_MorphOS'#010+
|
||||
'S*2Tlinux_Linux'#010+
|
||||
'**1u<x>_undefines the sym','bol <x>'#010+
|
||||
'**1u<x>_undefines the symbol <x>'#010+
|
||||
'**1U_unit options:'#010+
|
||||
'**2Un_Do not check where the unit name matches the file name'#010+
|
||||
'**2Ur_Generate release unit files (never automatically recompiled)'#010+
|
||||
'**2Ur_Generate release unit files (never au','tomatically recompiled)'#010+
|
||||
'**2Us_Compile a system unit'#010+
|
||||
'**1v<x>_Be verbose. <x> is a combination of the following',' letters:'#010+
|
||||
'**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+
|
||||
'**2*_e : Show errors (default) 0 : Show nothing (except errors)'#010+
|
||||
'**2*_w : Show warnings u : Show unit info'#010+
|
||||
'**2*_w : Show warnings u : Show unit ','info'#010+
|
||||
'**2*_n : Show notes t : Show tried/used files'#010+
|
||||
'**2*_h : Show hints c : ','Show conditionals'#010+
|
||||
'**2*_h : Show hints c : Show conditionals'#010+
|
||||
'**2*_i : Show general info d : Show debug info'#010+
|
||||
'**2*_l : Show linenumbers r : Rhide/GCC compatibility mode'#010+
|
||||
'**2*_l : Show linenumbers r : Rhide/GCC compa','tibility mod'+
|
||||
'e'#010+
|
||||
'**2*_a : Show everything x : Executable info (Win32 only)'#010+
|
||||
'**2*_b : Write file names',' messages with full path'#010+
|
||||
'**2*_b : Write file names messages with full path'#010+
|
||||
'**2*_v : write fpcdebug.txt with p : Write tree.log with parse tre'+
|
||||
'e'#010+
|
||||
'**2*_ lots of debugging info'#010+
|
||||
'3*1W<x>_Target-specific options (targets)'#010+
|
||||
'3*','1W<x>_Target-specific options (targets)'#010+
|
||||
'A*1W<x>_Target-specific options (targets)'#010+
|
||||
'P*1W<x>_Target-specific opt','ions (targets)'#010+
|
||||
'P*1W<x>_Target-specific options (targets)'#010+
|
||||
'3*2Wb_Create a bundle instead of a library (Darwin)'#010+
|
||||
'P*2Wb_Create a bundle instead of a library (Darwin)'#010+
|
||||
'p*2Wb_Create a bundle instead of a library (Darwin)'#010+
|
||||
'p*2Wb_Create',' a bundle instead of a library (Darwin)'#010+
|
||||
'3*2WB_Create a relocatable image (Windows)'#010+
|
||||
'A*2WB_Create a relocatable',' image (Windows, Symbian)'#010+
|
||||
'A*2WB_Create a relocatable image (Windows, Symbian)'#010+
|
||||
'3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+
|
||||
'A*2WC_Specify console type application (Windows)'#010+
|
||||
'A*2WC_Specify console type application (Windo','ws)'#010+
|
||||
'P*2WC_Specify console type application (Classic Mac OS)'#010+
|
||||
'3*2WD_Use DEFFILE to export functions of DLL or E','XE (Windows)'#010+
|
||||
'3*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
|
||||
'A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
|
||||
'3*2WF_Specify full-screen type application (EMX, OS/2)'#010+
|
||||
'3*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+
|
||||
'3','*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+
|
||||
'A*2WG_Specify graphic type application (Windows)'#010+
|
||||
'P','*2WG_Specify graphic type application (Classic Mac OS)'#010+
|
||||
'P*2WG_Specify graphic type application (Classic Mac OS)'#010+
|
||||
'3*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
|
||||
'A*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
|
||||
'A*2WN_','Do not generate relocation code, needed for debugging (Windows'+
|
||||
')'#010+
|
||||
'3*2WR_Generate relocation code (Windows)'#010+
|
||||
'A*2W','R_Generate relocation code (Windows)'#010+
|
||||
'A*2WR_Generate relocation code (Windows)'#010+
|
||||
'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+
|
||||
'**1X_Executable options:'#010+
|
||||
'**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Lin'+
|
||||
'ux)'#010+
|
||||
'**2Xd_Do not use standard library search path (','needed for cross comp'+
|
||||
'ile)'#010+
|
||||
'**2Xc_Pass -','-shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, L'+
|
||||
'inux)'#010+
|
||||
'**2Xd_Do not use standard library search path (needed for cross compil'+
|
||||
'e)'#010+
|
||||
'**2Xe_Use external linker'#010+
|
||||
'**2XD_Try to link units dynamically (defines FPC_LINK_DYNAMIC)'#010+
|
||||
'**2Xi_Use internal linker'#010+
|
||||
'**2Xi_Use i','nternal linker'#010+
|
||||
'**2Xm_Generate link map'#010+
|
||||
'**2XM<x>_Set the name of the '#039'main'#039' program routine (default i'+
|
||||
's '#039'main'#039,')'#010+
|
||||
's '#039'main'#039')'#010+
|
||||
'**2XP<x>_Prepend the binutils names with the prefix <x>'#010+
|
||||
'**2Xr<x>_Set library search path to <x> (needed for cross compile)'#010+
|
||||
'**2Xs_Strip all symbols from executable'#010+
|
||||
'**2Xs_','Strip all symbols from executable'#010+
|
||||
'**2XS_Try to link units statically (default, defines FPC_LINK_STATIC)'#010+
|
||||
'**2Xt','_Link with static libraries (-static is passed to linker)'#010+
|
||||
'**2Xt_Link with static libraries (-static is passed to linker)'#010+
|
||||
'**2XX_Try to smartlink units (defines FPC_LINK_SMART)'#010+
|
||||
'**1*_'#010+
|
||||
'**1?_Show this help'#010+
|
||||
'*','*1?_Show this help'#010+
|
||||
'**1h_Shows this help without waiting'#000
|
||||
);
|
||||
|
||||
@ -833,6 +833,12 @@ begin
|
||||
else
|
||||
include(init_settings.globalswitches,cs_use_lineinfo);
|
||||
end;
|
||||
'o' :
|
||||
begin
|
||||
if not UpdateDebugStr(copy(more,j+1,length(more)),init_settings.debugswitches) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
'p' :
|
||||
begin
|
||||
if UnsetBool(More, j) then
|
||||
|
||||
Loading…
Reference in New Issue
Block a user