Latest update.

This commit is contained in:
2020-02-17 23:45:59 +09:00
parent 9dfeec3942
commit f85de4da03
381 changed files with 7278 additions and 1826 deletions
+1 -1
View File
@@ -191,4 +191,4 @@ while(my $line=<>) {
print "\n";
}
close STDOUT or die "error closing STDOUT";
close STDOUT or die "error closing STDOUT: $!";
+1 -1
View File
@@ -343,4 +343,4 @@ while($line=<>) {
print "\n";
}
close STDOUT or die "error closing STDOUT";
close STDOUT or die "error closing STDOUT: $!";
+15 -8
View File
@@ -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"