rpms/dietlibc/devel dietlibc-0.28-stat64.patch, NONE, 1.1 dietlibc-0.28-scall.patch, NONE, 1.1 dietlibc-0.28-madv.patch, NONE, 1.1 dietlibc.spec, 1.8, 1.9

Enrico Scholz (ensc) fedora-extras-commits at redhat.com
Sun Apr 24 19:50:01 UTC 2005


Author: ensc

Update of /cvs/extras/rpms/dietlibc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7675

Modified Files:
	dietlibc.spec 
Added Files:
	dietlibc-0.28-stat64.patch dietlibc-0.28-scall.patch 
	dietlibc-0.28-madv.patch 
Log Message:
- catch the case when syscall(2) is used on archs where it is not
  implemented yet
- define MADV_* constants on HPPA and IA64 archs
- fix *truncate64() handling on 64bit archs


dietlibc-0.28-stat64.patch:

--- NEW FILE dietlibc-0.28-stat64.patch ---
2005-04-24  Enrico Scholz  <enrico.scholz at informatik.tu-chemnitz.de>
	* include/unistd.h: do not define *truncate to *truncate64
	  when latter function group is not available (e.g. in 64bit
	  machines)

--- dietlibc-0.28/include/unistd.h.stat64
+++ dietlibc-0.28/include/unistd.h
@@ -246,9 +246,12 @@
 #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
 #define open open64
 #define creat creat64
+#define getdents getdents64
+
+#ifndef __NO_STAT64
 #define truncate truncate64
 #define ftruncate ftruncate64
-#define getdents getdents64
+#endif
 #endif
 
 #ifdef _LINUX_SOURCE

dietlibc-0.28-scall.patch:

--- NEW FILE dietlibc-0.28-scall.patch ---
2005-04-24  Enrico Scholz  <enrico.scholz at informatik.tu-chemnitz.de>
	* libcompat/syscall.S: catch the case when syscall(2) is not
	  implemented for the actual arch instead of jumping to the next
	  function and executing the wrong code

--- dietlibc-0.28/libcompat/syscall.S.scall
+++ dietlibc-0.28/libcompat/syscall.S
@@ -77,5 +77,14 @@
 	cmp.eq p6,p0=-1,r10
 (p6)	br __error_unified_syscall
 	br.ret.sptk.few rp
+#else
+#include <endian.h>
+	.section	.note
+#if (__WORDSIZE == 64)	
+	.quad		__syscall_2_not_implemented_for_this_arch
+#else	
+	.long		__syscall_2_not_implemented_for_this_arch
+#endif
+	.previous
 #endif
 .size	syscall, . - syscall

dietlibc-0.28-madv.patch:

--- NEW FILE dietlibc-0.28-madv.patch ---
2005-04-24  Enrico Scholz  <enrico.scholz at informatik.tu-chemnitz.de>
	* include/sys/mman.h: define MADV_* constants for hppa and
	  ia64 archs

--- dietlibc-0.28/include/sys/mman.h.madv
+++ dietlibc-0.28/include/sys/mman.h
@@ -132,6 +132,22 @@
 #define MCL_CURRENT	1	/* lock all current mappings */
 #define MCL_FUTURE	2
 
+#define MADV_NORMAL	0	/* no further special treatment */
+#define MADV_RANDOM	1	/* expect random page references */
+#define MADV_SEQUENTIAL 2	/* expect sequential page references */
+#define MADV_WILLNEED	3	/* will need these pages */
+#define MADV_DONTNEED	4	/* don't need these pages */
+#define MADV_SPACEAVAIL 5	/* insure that resources are reserved */
+#define MADV_VPS_PURGE	6	/* Purge pages from VM page cache */
+#define MADV_VPS_INHERIT 7	/* Inherit parents page size */
+#define MADV_4K_PAGES	12	/* Use 4K pages	 */
+#define MADV_16K_PAGES	14	/* Use 16K pages */
+#define MADV_64K_PAGES	16	/* Use 64K pages */
+#define MADV_256K_PAGES 18	/* Use 256K pages */
+#define MADV_1M_PAGES	20	/* Use 1 Megabyte pages */
+#define MADV_4M_PAGES	22	/* Use 4 Megabyte pages */
+#define MADV_16M_PAGES	24	/* Use 16 Megabyte pages */
+#define MADV_64M_PAGES	26	/* Use 64 Megabyte pages */
 #elif defined(__ia64__)
 
 #define MAP_TYPE	0x0f	/* Mask for type of mapping */
@@ -151,6 +167,11 @@
 #define MS_INVALIDATE	2	/* invalidate the caches */
 #define MS_SYNC 	4	/* synchronous memory sync */
 
+#define MADV_NORMAL     0x0	/* default page-in behavior */
+#define MADV_RANDOM     0x1	/* page-in minimum required */
+#define MADV_SEQUENTIAL 0x2	/* read-ahead aggressively */
+#define MADV_WILLNEED   0x3	/* pre-fault pages */
+#define MADV_DONTNEED   0x4	/* discard these pages */
 #endif
 
 /* compatibility flags */


Index: dietlibc.spec
===================================================================
RCS file: /cvs/extras/rpms/dietlibc/devel/dietlibc.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- dietlibc.spec	8 Mar 2005 13:48:31 -0000	1.8
+++ dietlibc.spec	24 Apr 2005 19:49:59 -0000	1.9
@@ -36,7 +36,7 @@
 Summary:	Small libc implementation
 Name:		%{?_with_cross:cross-%crossarch-}%NAME
 Version:	0.28
-Release:	%release_func 4.1
+Release:	%release_func 4.3
 License:	GPL
 Group:		Development/Libraries
 URL:		http://www.fefe.de/dietlibc/
@@ -47,6 +47,9 @@
 Patch2:		dietlibc-0.28-ppc.patch
 Patch3:		dietlibc-0.28-hppa.patch
 Patch4:		dietlibc-0.28-cflags.patch
+Patch5:		dietlibc-0.28-scall.patch
+Patch6:		dietlibc-0.28-stat64.patch
+Patch7:		dietlibc-0.28-madv.patch
 BuildRoot:	%_tmppath/%name-%version-buildroot
 %{?with_dyn:Requires:	dietlibc-lib = %version-%release}
 
@@ -81,6 +84,9 @@
 %patch2 -p1 -b .ppc
 %patch3 -p1 -b .hppa
 %patch4 -p1 -b .cflags
+%patch5 -p1 -b .scall
+%patch6 -p1 -b .stat64
+%patch7 -p1 -b .madv
 
 ## only for 0.28; remove it in 0.29
 sed -i -e 's!LD_RUN_PATH= !env -u LD_RUN_PATH !' Makefile
@@ -143,6 +149,12 @@
 %endif
 
 %changelog
+* Sun Apr 24 2005 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 0.28-5
+- catch the case when syscall(2) is used on archs where it is not
+  implemented yet
+- define MADV_* constants on HPPA and IA64 archs
+- fix *truncate64() handling on 64bit archs
+
 * Fri Mar  4 2005 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 0.28-4
 - rebuild
 - fixed compilation with gcc4
@@ -151,6 +163,7 @@
 - build the dynamic libs for x86, x86_64 and arm only
 - fixed PPC issues in ISO mode (do not use the 'powerpc' macro but the
   '__powerpc__' one)
+- added some O_* -flags for the HPPA arch
 - use more modern flags for '-Os'
 
 * Tue Feb  1 2005 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 1:0.28-1




More information about the fedora-extras-commits mailing list