Latest update.
This commit is contained in:
@@ -191,4 +191,4 @@ while(my $line=<>) {
|
||||
print "\n";
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -343,4 +343,4 @@ while($line=<>) {
|
||||
print "\n";
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -101,24 +101,33 @@ elsif (!$gas)
|
||||
$decor="\$L\$";
|
||||
}
|
||||
|
||||
my $cet_property = <<'_____';
|
||||
my $cet_property;
|
||||
if ($flavour =~ /elf/) {
|
||||
# Always generate .note.gnu.property section for ELF outputs to
|
||||
# mark Intel CET support since all input files must be marked
|
||||
# with Intel CET support in order for linker to mark output with
|
||||
# Intel CET support.
|
||||
my $p2align=3; $p2align=2 if ($flavour eq "elf32");
|
||||
$cet_property = <<_____;
|
||||
.section ".note.gnu.property", "a"
|
||||
.align 8
|
||||
.p2align $p2align
|
||||
.long 1f - 0f
|
||||
.long 4f - 1f
|
||||
.long 5
|
||||
0:
|
||||
.asciz "GNU"
|
||||
1:
|
||||
.align 8
|
||||
.p2align $p2align
|
||||
.long 0xc0000002
|
||||
.long 3f - 2f
|
||||
2:
|
||||
.long 3
|
||||
3:
|
||||
.p2align 3
|
||||
.p2align $p2align
|
||||
4:
|
||||
_____
|
||||
}
|
||||
|
||||
my $current_segment;
|
||||
my $current_function;
|
||||
my %globals;
|
||||
@@ -1145,9 +1154,7 @@ my $vprotq = sub {
|
||||
# Intel Control-flow Enforcement Technology extension. All functions and
|
||||
# indirect branch targets will have to start with this instruction...
|
||||
|
||||
my $used_cet = 0;
|
||||
my $endbranch = sub {
|
||||
$used_cet = 1;
|
||||
(0xf3,0x0f,0x1e,0xfa);
|
||||
};
|
||||
|
||||
@@ -1233,11 +1240,11 @@ while(defined(my $line=<>)) {
|
||||
print $line,"\n";
|
||||
}
|
||||
|
||||
print "$cet_property" if ($gas && $used_cet);
|
||||
print "$cet_property" if ($cet_property);
|
||||
print "\n$current_segment\tENDS\n" if ($current_segment && $masm);
|
||||
print "END\n" if ($masm);
|
||||
|
||||
close STDOUT;
|
||||
close STDOUT or die "error closing STDOUT: $!;"
|
||||
|
||||
#################################################
|
||||
# Cross-reference x86_64 ABI "card"
|
||||
|
||||
Reference in New Issue
Block a user