1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
Our binutils somehow ended up with a -mfix-gs2f-kernel, rather than
-mfix-ls2f-kernel. Cope with it.
Also, the old ld can't cope with thin archives very well: it fails
to create vmlinux.o. So, disable thin archives.
Index: arch/mips/loongson64/Platform
===================================================================
--- arch/mips/loongson64/Platform.orig 2015-08-15 10:30:17.338956604 -0400
+++ arch/mips/loongson64/Platform 2015-08-15 10:32:47.841031800 -0400
@@ -10,6 +10,12 @@
$(call cc-option,-march=loongson2f,-march=r4600)
# Enable the workarounds for Loongson2f
ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS
+ ifneq ($(call as-option,-Wa$(comma)-mfix-gs2f-kernel,),)
+ cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-gs2f-kernel
+ ifneq ($(CONFIG_CPU_NOP_WORKAROUNDS),$(CONFIG_CPU_JUMP_WORKAROUNDS))
+ cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-gs2f-kernel
+ endif
+ else
ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),)
$(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop)
else
@@ -20,6 +26,7 @@
else
cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump
endif
+ endif
endif
#
Index: arch/Kconfig
===================================================================
--- arch/Kconfig.orig 2017-08-20 17:13:52.000000000 -0400
+++ arch/Kconfig 2017-08-30 07:40:42.626782220 -0400
@@ -575,7 +575,7 @@
endchoice
config THIN_ARCHIVES
- def_bool y
+ bool
help
Select this if the architecture wants to use thin archives
instead of ld -r to create the built-in.o files.
|