[packages/dietlibc] - more dynamic fixes (x86_64 builds now)

qboosh qboosh at pld-linux.org
Tue Jan 28 21:05:58 CET 2014


commit c9ef365954d380c2b1a262a27f0b8508f7c150f8
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Jan 28 21:07:24 2014 +0100

    - more dynamic fixes (x86_64 builds now)

 dietlibc-dynamic.patch | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 dietlibc.spec          |  3 +++
 2 files changed, 51 insertions(+)
---
diff --git a/dietlibc.spec b/dietlibc.spec
index 9c5406f..cee5767 100644
--- a/dietlibc.spec
+++ b/dietlibc.spec
@@ -130,6 +130,9 @@ statyczne.
 %{__sed} -i -e '/CFLAGS/ s/-Wextra//' Makefile
 %endif
 
+# there is unconditional nice.c already; __nice.c breaks x86_64 build
+%{__rm} lib/__nice.c
+
 %build
 export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing -Wa,--noexecstack"
 CC="%{__cc}"
diff --git a/dietlibc-dynamic.patch b/dietlibc-dynamic.patch
index d4a9f39..2bf946c 100644
--- a/dietlibc-dynamic.patch
+++ b/dietlibc-dynamic.patch
@@ -23,3 +23,51 @@
  #include "../syscalls.s/open.S"
  #include "../syscalls.s/pause.S"
  #include "../syscalls.s/personality.S"
+--- dietlibc-0.33/x86_64/clock_gettime.S.orig	2012-01-26 07:19:31.000000000 +0100
++++ dietlibc-0.33/x86_64/clock_gettime.S	2014-01-28 20:34:23.670685222 +0100
+@@ -11,9 +11,16 @@
+ .L1:
+ 	push %rsi
+ 	push %rdi
++#ifdef __PIC__
++	movq __vdso at GOTPCREL(%rip), %rax
++	movq (%rax),%rdi
++	movq funcname at GOTPCREL(%rip), %rsi
++	call vdso_dlsym at PLT
++#else
+ 	movq __vdso(%rip),%rdi
+ 	movq $funcname, %rsi
+ 	call vdso_dlsym
++#endif
+ 	pop %rdi
+ 	pop %rsi
+ 	jmp .L2
+--- dietlibc-0.33/x86_64/gettimeofday.S.orig	2012-01-24 19:24:30.000000000 +0100
++++ dietlibc-0.33/x86_64/gettimeofday.S	2014-01-28 20:35:10.746157117 +0100
+@@ -11,9 +11,16 @@
+ .L1:
+ 	push %rsi
+ 	push %rdi
++#ifdef __PIC__
++	movq __vdso at GOTPCREL(%rip), %rax
++	movq (%rax),%rdi
++	movq funcname at GOTPCREL(%rip), %rsi
++	call vdso_dlsym at PLT
++#else
+ 	movq __vdso(%rip),%rdi
+ 	movq $funcname, %rsi
+ 	call vdso_dlsym
++#endif
+ 	pop %rdi
+ 	pop %rsi
+ 	jmp .L2
+--- dietlibc-0.33/arm/dyn_syscalls.S.orig	2012-01-24 19:24:24.000000000 +0100
++++ dietlibc-0.33/arm/dyn_syscalls.S	2014-01-28 20:58:27.842943864 +0100
+@@ -104,7 +104,6 @@
+ #include "../syscalls.s/n_sigprocmask.S"
+ #include "../syscalls.s/n_sigsuspend.S"
+ #include "../syscalls.s/nanosleep.S"
+-#include "../syscalls.s/nice.S"
+ #include "../syscalls.s/open.S"
+ #include "../syscalls.s/pause.S"
+ #include "../syscalls.s/personality.S"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dietlibc.git/commitdiff/c9ef365954d380c2b1a262a27f0b8508f7c150f8



More information about the pld-cvs-commit mailing list