From 5e6669890a438a37eca5fc786ea9cb255a9484a5 Mon Sep 17 00:00:00 2001
From: pierre <pierre@freepascal.org>
Date: Tue, 21 Jan 2014 00:19:17 +0000
Subject: [PATCH]  Handle asmextraopt in powerpc, mips and sparc assemblers

git-svn-id: trunk@26542 -
---
 compiler/mips/cpugas.pas       | 6 +++---
 compiler/powerpc/agppcvasm.pas | 3 ++-
 compiler/sparc/cpugas.pas      | 6 +++---
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/compiler/mips/cpugas.pas b/compiler/mips/cpugas.pas
index 13b5b09aa2..9f5aab8ff6 100644
--- a/compiler/mips/cpugas.pas
+++ b/compiler/mips/cpugas.pas
@@ -42,7 +42,7 @@ unit cpugas;
       end;
 
     const
-      use_std_regnames : boolean = 
+      use_std_regnames : boolean =
       {$ifndef USE_MIPS_GAS_REGS}
       true;
       {$else}
@@ -379,7 +379,7 @@ unit cpugas;
         id: as_gas;
         idtxt: 'AS';
         asmbin: 'as';
-        asmcmd: '$ABI $ARCH $NOWARN -EL $PIC -o $OBJ $ASM';
+        asmcmd: '$ABI $ARCH $NOWARN -EL $PIC -o $OBJ $EXTRAOPT $ASM';
         supported_targets: [system_mipsel_linux];
         flags: [ af_needar, af_smartlink_sections];
         labelprefix: '.L';
@@ -391,7 +391,7 @@ unit cpugas;
         id: as_gas;
         idtxt: 'AS';
         asmbin: 'as';
-        asmcmd: '$ABI $ARCH $NOWARN -EB $PIC -o $OBJ $ASM';
+        asmcmd: '$ABI $ARCH $NOWARN -EB $PIC -o $OBJ $EXTRAOPT $ASM';
         supported_targets: [system_mipseb_linux];
         flags: [ af_needar, af_smartlink_sections];
         labelprefix: '.L';
diff --git a/compiler/powerpc/agppcvasm.pas b/compiler/powerpc/agppcvasm.pas
index ca4eec6127..39e93ad29d 100644
--- a/compiler/powerpc/agppcvasm.pas
+++ b/compiler/powerpc/agppcvasm.pas
@@ -379,6 +379,7 @@ unit agppcvasm;
            Replace(result,'$ASM',maybequoted(Unix2AmigaPath(AsmFileName)));
            Replace(result,'$OBJ',maybequoted(Unix2AmigaPath(ObjFileName)));
          end;
+        Replace(result,'$EXTRAOPT',asmextraopt);
       end;
 
 
@@ -394,7 +395,7 @@ unit agppcvasm;
 
          idtxt  : 'VASM';
          asmbin : 'fpcvasm';
-         asmcmd: '-quiet -Felf -o $OBJ $ASM';
+         asmcmd: '-quiet -Felf -o $OBJ $EXTRAOPT $ASM';
          supported_targets : [system_powerpc_morphos];
          flags : [af_needar,af_smartlink_sections];
          labelprefix : '.L';
diff --git a/compiler/sparc/cpugas.pas b/compiler/sparc/cpugas.pas
index ffb51a6d65..f16be5f660 100644
--- a/compiler/sparc/cpugas.pas
+++ b/compiler/sparc/cpugas.pas
@@ -224,9 +224,9 @@ implementation
            idtxt  : 'AS';
            asmbin : 'as';
 {$ifdef FPC_SPARC_V8_ONLY}
-           asmcmd : '$PIC -o $OBJ $ASM';
+           asmcmd : '$PIC -o $OBJ $EXTRAOPT $ASM';
 {$else}
-           asmcmd : '$ARCH $PIC -o $OBJ $ASM';
+           asmcmd : '$ARCH $PIC -o $OBJ $EXTRAOPT $ASM';
 {$endif}
            supported_targets : [system_sparc_solaris,system_sparc_linux,system_sparc_embedded];
            flags : [af_needar,af_smartlink_sections];
@@ -240,7 +240,7 @@ implementation
            id     : as_ggas;
            idtxt  : 'GAS';
            asmbin : 'gas';
-           asmcmd : '$ARCH $PIC -o $OBJ $ASM';
+           asmcmd : '$ARCH $PIC -o $OBJ $EXTRAOPT $ASM';
            supported_targets : [system_sparc_solaris,system_sparc_linux,system_sparc_embedded];
            flags : [af_needar,af_smartlink_sections];
            labelprefix : '.L';