Hexagon: fix build errors

commit 788dcee0306e1bdbae1a76d1b3478bb899c5838e upstream.

Fix type-o in ptrace.c.
Add missing include: asm/hexagon_vm.h
Remove superfluous cast.
Replace 'p3_0' with 'preds'.

Signed-off-by: Sid Manning <sidneym@codeaurora.org>
Add -mlong-calls to build flags.
Signed-off-by: Brian Cain <bcain@codeaurora.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Sid Manning
2021-04-23 15:06:58 -05:00
committed by Greg Kroah-Hartman
parent 8148665cb7
commit 243f325ecc
3 changed files with 7 additions and 3 deletions

View File

@@ -10,6 +10,9 @@ LDFLAGS_vmlinux += -G0
# Do not use single-byte enums; these will overflow. # Do not use single-byte enums; these will overflow.
KBUILD_CFLAGS += -fno-short-enums KBUILD_CFLAGS += -fno-short-enums
# We must use long-calls:
KBUILD_CFLAGS += -mlong-calls
# Modules must use either long-calls, or use pic/plt. # Modules must use either long-calls, or use pic/plt.
# Use long-calls for now, it's easier. And faster. # Use long-calls for now, it's easier. And faster.
# KBUILD_CFLAGS_MODULE += -fPIC # KBUILD_CFLAGS_MODULE += -fPIC

View File

@@ -8,6 +8,7 @@
#include <asm-generic/timex.h> #include <asm-generic/timex.h>
#include <asm/timer-regs.h> #include <asm/timer-regs.h>
#include <asm/hexagon_vm.h>
/* Using TCX0 as our clock. CLOCK_TICK_RATE scheduled to be removed. */ /* Using TCX0 as our clock. CLOCK_TICK_RATE scheduled to be removed. */
#define CLOCK_TICK_RATE TCX0_CLK_RATE #define CLOCK_TICK_RATE TCX0_CLK_RATE
@@ -16,7 +17,7 @@
static inline int read_current_timer(unsigned long *timer_val) static inline int read_current_timer(unsigned long *timer_val)
{ {
*timer_val = (unsigned long) __vmgettime(); *timer_val = __vmgettime();
return 0; return 0;
} }

View File

@@ -35,7 +35,7 @@ void user_disable_single_step(struct task_struct *child)
static int genregs_get(struct task_struct *target, static int genregs_get(struct task_struct *target,
const struct user_regset *regset, const struct user_regset *regset,
srtuct membuf to) struct membuf to)
{ {
struct pt_regs *regs = task_pt_regs(target); struct pt_regs *regs = task_pt_regs(target);
@@ -54,7 +54,7 @@ static int genregs_get(struct task_struct *target,
membuf_store(&to, regs->m0); membuf_store(&to, regs->m0);
membuf_store(&to, regs->m1); membuf_store(&to, regs->m1);
membuf_store(&to, regs->usr); membuf_store(&to, regs->usr);
membuf_store(&to, regs->p3_0); membuf_store(&to, regs->preds);
membuf_store(&to, regs->gp); membuf_store(&to, regs->gp);
membuf_store(&to, regs->ugp); membuf_store(&to, regs->ugp);
membuf_store(&to, pt_elr(regs)); // pc membuf_store(&to, pt_elr(regs)); // pc