[libav-devel] [GASPP PATCH 3/3] Don't skip negative offsets for ldr by default for armasm64

Martin Storsjo martin at martin.st
Tue Mar 6 09:58:32 CET 2018


The version of armasm64 in Visual Studio 2017 15.6 can assemble
these just fine.
---
 gas-preprocessor.pl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
index cb2f912..b0c909c 100755
--- a/gas-preprocessor.pl
+++ b/gas-preprocessor.pl
@@ -973,8 +973,8 @@ sub handle_serialized_line {
                 my $reg = $1;
                 my $sym = $2;
                 my $offset = eval_expr($3);
-                if ($offset < 0) {
-                    # armasm64 is buggy with ldr x0, =sym+offset where the
+                if ($offset < 0 and $ENV{GASPP_ARMASM64_SKIP_NEG_OFFSET}) {
+                    # armasm64 in VS < 15.6 is buggy with ldr x0, =sym+offset where the
                     # offset is a negative value; it does write a negative
                     # offset into the literal pool as it should, but the
                     # negative offset only covers the lower 32 bit of the 64
-- 
2.7.4



More information about the libav-devel mailing list