mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 11:09:19 +02:00
Add .force_thumb pseudo-directive support forarm reader
git-svn-id: trunk@49271 -
This commit is contained in:
parent
570af33fa9
commit
f1d30a5bc6
@ -402,7 +402,7 @@ interface
|
|||||||
{ supported by recent clang-based assemblers for data-in-code }
|
{ supported by recent clang-based assemblers for data-in-code }
|
||||||
asd_data_region, asd_end_data_region,
|
asd_data_region, asd_end_data_region,
|
||||||
{ ARM }
|
{ ARM }
|
||||||
asd_thumb_func,asd_code,
|
asd_thumb_func,asd_code,asd_force_thumb,
|
||||||
{ restricts the assembler only to those instructions, which are
|
{ restricts the assembler only to those instructions, which are
|
||||||
available on the specified CPU; this represents directives such as
|
available on the specified CPU; this represents directives such as
|
||||||
NASM's 'CPU 686' or MASM/TASM's '.686p'. Might not be supported by
|
NASM's 'CPU 686' or MASM/TASM's '.686p'. Might not be supported by
|
||||||
@ -452,6 +452,7 @@ interface
|
|||||||
{ ARM }
|
{ ARM }
|
||||||
'thumb_func',
|
'thumb_func',
|
||||||
'code',
|
'code',
|
||||||
|
'force_thumb',
|
||||||
'cpu',
|
'cpu',
|
||||||
{ for the OMF object format }
|
{ for the OMF object format }
|
||||||
'omf_line',
|
'omf_line',
|
||||||
|
@ -151,6 +151,7 @@ Unit raarmgas;
|
|||||||
function tarmattreader.is_targetdirective(const s: string): boolean;
|
function tarmattreader.is_targetdirective(const s: string): boolean;
|
||||||
begin
|
begin
|
||||||
case s of
|
case s of
|
||||||
|
'.force_thumb',
|
||||||
'.thumb_func',
|
'.thumb_func',
|
||||||
'.code',
|
'.code',
|
||||||
'.thumb_set':
|
'.thumb_set':
|
||||||
@ -1464,6 +1465,11 @@ Unit raarmgas;
|
|||||||
begin
|
begin
|
||||||
consume(AS_TARGET_DIRECTIVE);
|
consume(AS_TARGET_DIRECTIVE);
|
||||||
curList.concat(tai_directive.create(asd_thumb_func,''));
|
curList.concat(tai_directive.create(asd_thumb_func,''));
|
||||||
|
end;
|
||||||
|
'.force_thumb':
|
||||||
|
begin
|
||||||
|
consume(AS_TARGET_DIRECTIVE);
|
||||||
|
curList.concat(tai_directive.create(asd_force_thumb,''));
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
inherited HandleTargetDirective;
|
inherited HandleTargetDirective;
|
||||||
|
@ -1719,6 +1719,11 @@ Implementation
|
|||||||
{$ifdef ARM}
|
{$ifdef ARM}
|
||||||
asd_thumb_func:
|
asd_thumb_func:
|
||||||
ObjData.ThumbFunc:=true;
|
ObjData.ThumbFunc:=true;
|
||||||
|
asd_force_thumb:
|
||||||
|
begin
|
||||||
|
ObjData.ThumbFunc:=true;
|
||||||
|
Code16:=true;
|
||||||
|
end;
|
||||||
asd_code:
|
asd_code:
|
||||||
begin
|
begin
|
||||||
{ ai_directive(hp).name can be only 16 or 32, this is checked by the reader }
|
{ ai_directive(hp).name can be only 16 or 32, this is checked by the reader }
|
||||||
@ -1924,6 +1929,9 @@ Implementation
|
|||||||
asd_thumb_func:
|
asd_thumb_func:
|
||||||
{ ignore for now, but should be added}
|
{ ignore for now, but should be added}
|
||||||
;
|
;
|
||||||
|
asd_force_thumb:
|
||||||
|
{ ignore for now, but should be added}
|
||||||
|
;
|
||||||
asd_code:
|
asd_code:
|
||||||
{ ignore for now, but should be added}
|
{ ignore for now, but should be added}
|
||||||
;
|
;
|
||||||
|
Loading…
Reference in New Issue
Block a user