Add -msoft-float alongside clang arguments to specify ABI.
Specify ABI in asm files explicitly.
This trigers asm warning due to gcc failing to propagate -msoft-float
but it's tolerable.
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
[grub_cv_target_cc_soft_float="-mno-inline-float-divide -mno-inline-sqrt"], [])
fi
- for cand in "-Xclang -msoft-float -Xclang -no-implicit-float" \
+ for cand in "-msoft-float -Xclang -msoft-float -Xclang -no-implicit-float" \
+ "-Xclang -msoft-float -Xclang -no-implicit-float" \
"-Xclang -msoft-float" "-msoft-float"; do
if test x"$grub_cv_target_cc_soft_float" != xno ; then
break
fi
case x"$grub_cv_target_cc_soft_float" in
- x"-Xclang"*)
+ x*"-Xclang"*)
# A trick so that clang doesn't see it on link stаge
TARGET_CPPFLAGS="$TARGET_CPPFLAGS $grub_cv_target_cc_soft_float"
;;
#include <grub/offsets.h>
#include <grub/machine/memory.h>
#include <grub/machine/kernel.h>
+#include <grub/cpu/kernel.h>
#include <grub/offsets.h>
#define BASE_ADDR 8
.globl __start, _start, start
.set noreorder
.set nomacro
+ mips_attributes
__start:
_start:
start:
#include <grub/symbol.h>
+#include <grub/cpu/kernel.h>
.set noreorder
.set nomacro
+ mips_attributes
FUNCTION (grub_arch_sync_caches)
#include "cache_flush.S"
#endif
sync_op
- jr $ra
\ No newline at end of file
+ jr $ra
#include <grub/offsets.h>
#include <grub/machine/memory.h>
#include <grub/machine/kernel.h>
+#include <grub/cpu/kernel.h>
#include <grub/offsets.h>
#define BASE_ADDR 8
.globl __start, _start, start
.set noreorder
.set nomacro
+ mips_attributes
__start:
_start:
start:
*/
#include <grub/symbol.h>
+#include <grub/cpu/kernel.h>
.p2align 4 /* force 16-byte alignment */
.set noreorder
.set nomacro
+ mips_attributes
VARIABLE (grub_relocator_forward_start)
move $a0, $9
#include <grub/symbol.h>
+#ifdef ASM_FILE
+#define mips_attributes .gnu_attribute 4, 3
+#endif
+
#endif /* ! GRUB_KERNEL_MACHINE_HEADER */