Blob Blame History Raw
Backport of https://www.mail-archive.com/libhugetlbfs-devel@lists.sourceforge.net/msg13914.html

--
diff --git a/Makefile b/Makefile
index 9500fd5..fab7607 100644
--- a/Makefile
+++ b/Makefile
@@ -46,6 +46,12 @@ CC32 = gcc -m32
 ELF32 = elf32ppclinux
 endif
 else
+ifeq ($(ARCH),ppc64le)
+CC64 = $(CC) -m64
+ELF64 = elf64lppc
+TMPLIB64 = lib64
+CUSTOM_LDSCRIPTS = no
+else
 ifeq ($(ARCH),ppc)
 CC32 = gcc -m32
 ELF32 = elf32ppclinux
@@ -117,6 +123,7 @@ endif
 endif
 endif
 endif
+endif
 
 ifdef CC32
 OBJDIRS += obj32
diff --git a/contrib/tlbmiss_cost.sh b/contrib/tlbmiss_cost.sh
index 1f1e234..8fbf798 100755
--- a/contrib/tlbmiss_cost.sh
+++ b/contrib/tlbmiss_cost.sh
@@ -44,7 +44,7 @@ cpumhz() {
 	FNAME="cpu MHz"
 	FINDEX=4
 	case "`uname -m`" in
-		ppc64)
+		ppc64|ppc64le)
 			FNAME="clock"
 			FINDEX=3
 			;;
diff --git a/ld.hugetlbfs b/ld.hugetlbfs
index ba9e00a..df446dd 100755
--- a/ld.hugetlbfs
+++ b/ld.hugetlbfs
@@ -84,6 +84,7 @@ fi
 MB=$((1024*1024))
 case "$EMU" in
 elf32ppclinux|elf64ppc)	HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
+elf64lppc)		HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
 elf_i386|elf_x86_64)	HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
 elf_s390|elf64_s390)	HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
 armelf_linux_eabi|aarch64elf)	HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;;
diff --git a/sys-elf64ppc.S b/sys-elf64ppc.S
index 1b63ff0..d50f4a6 100644
--- a/sys-elf64ppc.S
+++ b/sys-elf64ppc.S
@@ -20,7 +20,7 @@
  */
 
 	.text
-
+#if _CALL_ELF != 2
 	.align	2
 	.globl	direct_syscall
 	.globl	.direct_syscall
@@ -32,6 +32,11 @@ direct_syscall:
 	.previous
 	.type	.direct_syscall,@function
 .direct_syscall:
+#else
+	.globl	direct_syscall
+	.type	direct_syscall,@function
+direct_syscall:
+#endif
 	mr	0,3
 	mr	3,4
 	mr	4,5
-- 
1.8.3.1