summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-01-23 13:28:17 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-01-23 13:28:17 -0800
commitc1b84144c2123f274d2613369d83fc5c05d54ffa (patch)
tree543a8a734a124624dcbc8196fe1fa301caf16bca
parentdb2336697e1389fef752fc67d12921e2343c30f6 (diff)
parentf1b99392caf120d7533da260318fae0eb5053737 (diff)
downloadlinux-3.10-c1b84144c2123f274d2613369d83fc5c05d54ffa.tar.gz
linux-3.10-c1b84144c2123f274d2613369d83fc5c05d54ffa.tar.bz2
linux-3.10-c1b84144c2123f274d2613369d83fc5c05d54ffa.zip
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64
Pull arm64 fixes from Catalin Marinas: - ELF coredump fix (more registers dumped than what user space expects) - SUBARCH name generation (s/aarch64/arm64/) * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64: arm64: makefile: fix uname munging when setting ARCH on native machine arm64: elf: fix core dumping to match what glibc expects
-rw-r--r--Makefile2
-rw-r--r--arch/arm64/include/asm/elf.h5
-rw-r--r--tools/perf/Makefile2
3 files changed, 6 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 253a455d8d8..2cd4c6be44f 100644
--- a/Makefile
+++ b/Makefile
@@ -169,7 +169,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-e s/arm.*/arm/ -e s/sa110/arm/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
- -e s/sh[234].*/sh/ )
+ -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h
index 07fea290d7c..fe32c0e4ac0 100644
--- a/arch/arm64/include/asm/elf.h
+++ b/arch/arm64/include/asm/elf.h
@@ -26,7 +26,10 @@
typedef unsigned long elf_greg_t;
-#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
+#define ELF_NGREG (sizeof(struct user_pt_regs) / sizeof(elf_greg_t))
+#define ELF_CORE_COPY_REGS(dest, regs) \
+ *(struct user_pt_regs *)&(dest) = (regs)->user_regs;
+
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
typedef struct user_fpsimd_state elf_fpregset_t;
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 891bc77bdb2..8ab05e543ef 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -58,7 +58,7 @@ ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-e s/arm.*/arm/ -e s/sa110/arm/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
- -e s/sh[234].*/sh/ )
+ -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
NO_PERF_REGS := 1
CC = $(CROSS_COMPILE)gcc