Module: gas-preprocessor
Branch: master
Commit: 76a72f00e0af8b8bacb4417e6806561d4c596dcc

Author:    Mans Rullgard <m...@mansr.com>
Committer: Mans Rullgard <m...@mansr.com>
Date:      Mon Dec  3 15:22:30 2012 +0000

Fix use of symbols in literals

The Apple linker does not support relocations against an offset
from a symbol.  Using an intermediate local symbol works around
this limitation.

---

 gas-preprocessor.pl |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
index 2806b72..57ad637 100755
--- a/gas-preprocessor.pl
+++ b/gas-preprocessor.pl
@@ -523,7 +523,9 @@ foreach my $line (@pass1_lines) {
 print ASMFILE ".text\n";
 print ASMFILE ".align 2\n";
 foreach my $literal (keys %literal_labels) {
-    print ASMFILE "$literal_labels{$literal}:\n .word $literal\n";
+    my $label = $literal_labels{$literal};
+    print ASMFILE ".set Lval_$label, $literal\n";
+    print ASMFILE "$label: .word Lval_$label\n";
 }
 
 map print(ASMFILE ".thumb_func $_\n"),

_______________________________________________
libav-commits mailing list
libav-commits@libav.org
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to