Forráskód Böngészése

+ gas for mips is by default little endian, so pass the endianess

git-svn-id: trunk@20280 -
florian 13 éve
szülő
commit
f927198c2a
3 módosított fájl, 30 hozzáadás és 2 törlés
  1. 16 1
      compiler/mips/cpugas.pas
  2. 7 1
      rtl/linux/Makefile
  3. 7 0
      rtl/linux/Makefile.fpc

+ 16 - 1
compiler/mips/cpugas.pas

@@ -254,12 +254,27 @@ unit cpugas;
         idtxt: 'AS';
         asmbin: 'as';
         asmcmd: '-mips2 -W -EL -o $OBJ $ASM';
-        supported_targets: [system_mips_linux,system_mipsel_linux];
+        supported_targets: [system_mipsel_linux];
+        flags: [af_allowdirect, af_needar, af_smartlink_sections];
+        labelprefix: '.L';
+        comment: '# ';
+        );
+      as_MIPS_as_info: tasminfo =
+        (
+        id: as_gas;
+        idtxt: 'AS';
+        asmbin: 'as';
+        asmcmd: '-mips2 -W -EB -o $OBJ $ASM';
+        supported_targets: [system_mips_linux];
         flags: [af_allowdirect, af_needar, af_smartlink_sections];
         labelprefix: '.L';
         comment: '# ';
         );
 
 begin
+{$ifdef MIPSEL}
   RegisterAssembler(as_MIPSEL_as_info, TMIPSGNUAssembler);
+{$else MIPSEL}
+  RegisterAssembler(as_MIPS_as_info, TMIPSGNUAssembler);
+{$endif MIPSEL}
 end.

+ 7 - 1
rtl/linux/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/02/04]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/02/08]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux
@@ -3019,6 +3019,12 @@ endif
 ifeq ($(ARCH),powerpc64)
   ASTARGET=-a64
 endif
+ifeq ($(ARCH),mips)
+  ASTARGET=-EB
+endif
+ifeq ($(ARCH),mipsel)
+  ASTARGET=-EL
+endif
 prt0$(OEXT) : $(ARCH)/prt0.as
 	$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(ARCH)/prt0.as
 dllprt0$(OEXT) : $(ARCH)/dllprt0.as

+ 7 - 0
rtl/linux/Makefile.fpc

@@ -117,6 +117,13 @@ endif
 ifeq ($(ARCH),powerpc64)
   ASTARGET=-a64
 endif
+# Select 32/64 mode
+ifeq ($(ARCH),mips)
+  ASTARGET=-EB
+endif
+ifeq ($(ARCH),mipsel)
+  ASTARGET=-EL
+endif
 
 #
 # Loaders