Commit 070fb8af authored by Youling Tang's avatar Youling Tang Committed by Hongchen Zhang
Browse files

LoongArch: Remove the .fixup section usage

mainline inclusion
from mainline-v6.2-rc1
commit 912bcfaf
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I6BWFP


CVE: NA

--------------------------------

Use the `.L_xxx` label to improve fixup code and then remove the .fixup
section usage.

Signed-off-by: default avatarYouling Tang <tangyouling@loongson.cn>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
Change-Id: I01c14c9bbc99baffe611d7e27f4c87d494b73026
parent 7e828480
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -9,15 +9,11 @@
#include <asm/export.h>
#include <asm/regdef.h>

.macro fixup_ex from, to, offset, fix
.if \fix
	.section .fixup, "ax"
\to:	addi.d	a0, a1, \offset
.irp to, 0
.L_fixup_handle_\to\():
	addi.d	a0, a1, (\to) * (-8)
	jr	ra
	.previous
.endif
	_asm_extable \from\()b, \to\()b
.endm
.endr

/*
 * unsigned long __clear_user(void *addr, size_t size)
@@ -36,7 +32,7 @@ SYM_FUNC_START(__clear_user)
2:	move	a0, a1
	jr	ra

	fixup_ex 1, 3, 0, 1
	_asm_extable 1b, .L_fixup_handle_0
SYM_FUNC_END(__clear_user)

EXPORT_SYMBOL(__clear_user)
+6 −10
Original line number Diff line number Diff line
@@ -9,15 +9,11 @@
#include <asm/export.h>
#include <asm/regdef.h>

.macro fixup_ex from, to, offset, fix
.if \fix
	.section .fixup, "ax"
\to:	addi.d	a0, a2, \offset
.irp to, 0
.L_fixup_handle_\to\():
	addi.d	a0, a2, (\to) * (-8)
	jr	ra
	.previous
.endif
	_asm_extable \from\()b, \to\()b
.endm
.endr

/*
 * unsigned long __copy_user(void *to, const void *from, size_t n)
@@ -39,8 +35,8 @@ SYM_FUNC_START(__copy_user)
3:	move	a0, a2
	jr	ra

	fixup_ex 1, 4, 0, 1
	fixup_ex 2, 4, 0, 0
	_asm_extable 1b, .L_fixup_handle_0
	_asm_extable 2b, .L_fixup_handle_0
SYM_FUNC_END(__copy_user)

EXPORT_SYMBOL(__copy_user)