m68k: made the vasm writer use the right section attributes, but disabled named sections until some vlink issues are sorted out

git-svn-id: trunk@35116 -
This commit is contained in:
Károly Balogh 2016-12-12 22:46:47 +00:00
parent f1f18d6f83
commit 026f0e99f3

View File

@ -35,6 +35,9 @@ unit ag68kvasm;
type
tm68kvasm = class(Tm68kGNUassembler)
protected
function sectionattrs(atype:TAsmSectiontype):string; override;
public
constructor CreateWithWriter(info: pasminfo; wr: TExternalAssemblerOutputFile; freewriter, smart: boolean); override;
function MakeCmdLine: TCmdStr; override;
end;
@ -60,6 +63,24 @@ unit ag68kvasm;
InstrWriter := Tm68kInstrWriter.create(self);
end;
function tm68kvasm.sectionattrs(atype:TAsmSectiontype):string;
begin
case atype of
sec_code, sec_fpc, sec_init, sec_fini:
result:='acrx';
sec_data:
result:='adrw';
sec_rodata, sec_rodata_norel:
result:='adr';
sec_bss, sec_threadvar:
result:='aurw';
sec_stab, sec_stabstr:
result:='dr';
else
result:='';
end;
end;
function tm68kvasm.MakeCmdLine: TCmdStr;
var
objtype: string;
@ -106,7 +127,7 @@ unit ag68kvasm;
asmbin : 'vasmm68k_std';
asmcmd: '-quiet -elfregs -gas $OTYPE $ARCH -o $OBJ $EXTRAOPT $ASM';
supported_targets : [system_m68k_amiga,system_m68k_atari,system_m68k_linux];
flags : [af_needar,af_smartlink_sections];
flags : [af_needar{,af_smartlink_sections}];
labelprefix : '.L';
comment : '# ';
dollarsign: '$';