diff options
author | Ned Ludd <solar@gentoo.org> | 2005-02-12 21:53:30 +0000 |
---|---|---|
committer | Ned Ludd <solar@gentoo.org> | 2005-02-12 21:53:30 +0000 |
commit | 2e6233db9cf2b83074f465d3da2a037ba7e0ab12 (patch) | |
tree | 04f9415781e90f8d734a20b0f415af8132f35fdc /sys-kernel | |
parent | revision bump, correct deps (diff) | |
download | gentoo-2-2e6233db9cf2b83074f465d3da2a037ba7e0ab12.tar.gz gentoo-2-2e6233db9cf2b83074f465d3da2a037ba7e0ab12.tar.bz2 gentoo-2-2e6233db9cf2b83074f465d3da2a037ba7e0ab12.zip |
- ~x86 pic syscall macros
(Portage version: 2.0.51-r15)
Diffstat (limited to 'sys-kernel')
-rw-r--r-- | sys-kernel/linux-headers/ChangeLog | 8 | ||||
-rw-r--r-- | sys-kernel/linux-headers/Manifest | 57 | ||||
-rw-r--r-- | sys-kernel/linux-headers/files/digest-linux-headers-2.4.22-r1 | 1 | ||||
-rw-r--r-- | sys-kernel/linux-headers/files/unistd.h-i386-pic.patch | 163 | ||||
-rw-r--r-- | sys-kernel/linux-headers/linux-headers-2.4.22-r1.ebuild | 142 |
5 files changed, 338 insertions, 33 deletions
diff --git a/sys-kernel/linux-headers/ChangeLog b/sys-kernel/linux-headers/ChangeLog index ab9a2d43f321..1ad483fa2a00 100644 --- a/sys-kernel/linux-headers/ChangeLog +++ b/sys-kernel/linux-headers/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-kernel/linux-headers # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/ChangeLog,v 1.99 2005/02/12 19:34:58 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/ChangeLog,v 1.100 2005/02/12 21:53:30 solar Exp $ + +*linux-headers-2.4.22-r1 (12 Feb 2005) + + 12 Feb 2005; <solar@gentoo.org> +files/unistd.h-i386-pic.patch, + +linux-headers-2.4.22-r1.ebuild: + - ~x86 pic syscall macros 12 Feb 2005; <plasmaroo@gentoo.org> files/linux-headers-2.6.10-appCompat.patch: diff --git a/sys-kernel/linux-headers/Manifest b/sys-kernel/linux-headers/Manifest index c8a2ba152c8f..02393257994b 100644 --- a/sys-kernel/linux-headers/Manifest +++ b/sys-kernel/linux-headers/Manifest @@ -1,49 +1,42 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 924bd5c6dcef8ec6c51fafdd2d522371 ChangeLog 22997 -MD5 681c761c0afe60e1022ac44d37d3370a linux-headers-2.0.40.ebuild 1820 -MD5 b3099588e509bea5bf8c12f2b3882f58 linux-headers-2.2.26.ebuild 2509 +MD5 e34ea6646a79a131e226f316f77e4043 linux-headers-2.6.8.1-r4.ebuild 1266 MD5 93d61e502d62b73d3340cb8837b6d6b2 linux-headers-2.4.21-r1.ebuild 3945 +MD5 c28313e23ce24b05e25738a685a00cd4 linux-headers-2.4.26.ebuild 3351 MD5 abc5561a3a28d6614bd2235022eaadce linux-headers-2.4.21.ebuild 3731 -MD5 213c9243211da20b5a7611507539e99b linux-headers-2.4.22.ebuild 4029 -MD5 c2c4eec01b604c30d0826e73ac02cac4 linux-headers-2.4.23.ebuild 3482 MD5 06eb1588f23861450f2d8b2e8379352b linux-headers-2.4.23_p3.ebuild 1267 +MD5 c2c4eec01b604c30d0826e73ac02cac4 linux-headers-2.4.23.ebuild 3482 +MD5 ef6a148ad839a5e5037eca5e188471d5 linux-headers-2.6.10.ebuild 1211 MD5 ac78a2e51f08f5e6a70691b7684eb3da linux-headers-2.4.25.ebuild 3422 -MD5 c28313e23ce24b05e25738a685a00cd4 linux-headers-2.4.26.ebuild 3351 +MD5 b3099588e509bea5bf8c12f2b3882f58 linux-headers-2.2.26.ebuild 2509 MD5 921f9a68d38778297cb92cb3aa61e428 linux-headers-2.6.8.1-r2.ebuild 1260 -MD5 e34ea6646a79a131e226f316f77e4043 linux-headers-2.6.8.1-r4.ebuild 1266 +MD5 da93fb121d3ce299ebd91aeddc06c667 ChangeLog 23167 +MD5 d85f9d2f4f07e61d070942bfdc5294b7 linux-headers-2.4.22-r1.ebuild 4077 MD5 608fe99985244b0445f76cee44c9ae14 metadata.xml 290 -MD5 ef6a148ad839a5e5037eca5e188471d5 linux-headers-2.6.10.ebuild 1211 -MD5 e300a3e148a7dcc38a0e099494fb6cb3 files/bigendian-byteorder-fix.patch 1557 +MD5 681c761c0afe60e1022ac44d37d3370a linux-headers-2.0.40.ebuild 1820 +MD5 213c9243211da20b5a7611507539e99b linux-headers-2.4.22.ebuild 4029 +MD5 57e8b81485f8a1ba10d41dd7949d40a8 files/linux-headers-2.6.8.1-strict-ansi-fix.patch 4132 +MD5 8a065c0dc3b8fac8747de35f1af75a2c files/linux-headers-2.6.0-fb.patch 386 +MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux-headers-2.6.8.1-r2 146 +MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux-headers-2.6.8.1-r4 146 +MD5 64566ac83b9929cb29c658f140117ee0 files/linux-headers-2.6.10-generic-arm-prepare.patch 1022 +MD5 9854e47afccae85e887bcb970fc68890 files/digest-linux-headers-2.4.21-r1 67 +MD5 6ef3887ee4018c06c18e8726767189c7 files/digest-linux-headers-2.4.22-r1 67 +MD5 545a151ce959e51f4e528e3c27cb5a65 files/digest-linux-headers-2.4.23_p3 131 +MD5 9101139b0720280f338a1823c281ee84 files/linux-headers-2.6.8.1-parisc-syscall.patch 413 +MD5 6b3f5527557e56d1da85837eabb27395 files/linux-headers-2.6.10-appCompat.patch 69541 +MD5 f265b3be3f242bd5c0d97d4f70a12194 files/unistd.h-i386-pic.patch 4393 +MD5 602f7309c0163c018627f06b5f1ace3a files/linux-headers-2.6.8.1-arm-float.patch 640 MD5 33d51532d0f696fefa15593b2cf2f6de files/digest-linux-headers-2.0.40 66 MD5 556c7008fbfdf81750bbd4ab2beb111e files/digest-linux-headers-2.2.26 67 MD5 9854e47afccae85e887bcb970fc68890 files/digest-linux-headers-2.4.21 67 -MD5 9854e47afccae85e887bcb970fc68890 files/digest-linux-headers-2.4.21-r1 67 MD5 6ef3887ee4018c06c18e8726767189c7 files/digest-linux-headers-2.4.22 67 MD5 79ee1ad9f4629595cd8d0cd20ca56dc1 files/digest-linux-headers-2.4.23 67 -MD5 545a151ce959e51f4e528e3c27cb5a65 files/digest-linux-headers-2.4.23_p3 131 MD5 df6b4c19f4a4cb2b3d3a2a0107d7853d files/digest-linux-headers-2.4.25 67 MD5 2574d3f1b776f2df365737f456bfe435 files/digest-linux-headers-2.4.26 67 -MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux-headers-2.6.8.1-r2 146 -MD5 fb33a0ba21375f190137b9f478ad9799 files/digest-linux-headers-2.6.8.1-r4 146 +MD5 78b4470aebd0088d0560ca3f88387b83 files/digest-linux-headers-2.6.10 67 MD5 45ff5cde07cfe93ecbb514226def606f files/generate-asm-sparc 1661 -MD5 8a065c0dc3b8fac8747de35f1af75a2c files/linux-headers-2.6.0-fb.patch 386 MD5 a73786f0b9dda7e9ebacb91a192384f9 files/linux-headers-2.6.0-sysctl_h-compat.patch 352 -MD5 6dd79a655f006aebb7206203f3654976 files/linux-headers-2.6.7-generic-arm-prepare.patch 978 MD5 73fc09c38977c1212cf0799dfff7e8fc files/linux-headers-2.6.8.1-appCompat.patch 59342 -MD5 602f7309c0163c018627f06b5f1ace3a files/linux-headers-2.6.8.1-arm-float.patch 640 -MD5 9101139b0720280f338a1823c281ee84 files/linux-headers-2.6.8.1-parisc-syscall.patch 413 -MD5 57e8b81485f8a1ba10d41dd7949d40a8 files/linux-headers-2.6.8.1-strict-ansi-fix.patch 4132 -MD5 14c583e9ea29b2a3fc88349685cce2f4 files/linux-headers-soundcard-ppc64.patch 722 MD5 459bc20c4015796630e3a9f3dc9125e6 files/linux-headers-strict-ansi-fix.patch 1486 -MD5 78b4470aebd0088d0560ca3f88387b83 files/digest-linux-headers-2.6.10 67 -MD5 6b3f5527557e56d1da85837eabb27395 files/linux-headers-2.6.10-appCompat.patch 69541 -MD5 64566ac83b9929cb29c658f140117ee0 files/linux-headers-2.6.10-generic-arm-prepare.patch 1022 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.0 (GNU/Linux) - -iD8DBQFCDmW0ArHZZzCEUG0RAk58AJ93fN1ENEWBgN/4tdbCZ8hx4PxT+ACfTuzW -4OSsYDqVebRq65A6m1Jp1q0= -=4Tbx ------END PGP SIGNATURE----- +MD5 e300a3e148a7dcc38a0e099494fb6cb3 files/bigendian-byteorder-fix.patch 1557 +MD5 14c583e9ea29b2a3fc88349685cce2f4 files/linux-headers-soundcard-ppc64.patch 722 +MD5 6dd79a655f006aebb7206203f3654976 files/linux-headers-2.6.7-generic-arm-prepare.patch 978 diff --git a/sys-kernel/linux-headers/files/digest-linux-headers-2.4.22-r1 b/sys-kernel/linux-headers/files/digest-linux-headers-2.4.22-r1 new file mode 100644 index 000000000000..e22508ef89f6 --- /dev/null +++ b/sys-kernel/linux-headers/files/digest-linux-headers-2.4.22-r1 @@ -0,0 +1 @@ +MD5 75dc85149b06ac9432106b8941eb9f7b linux-2.4.22.tar.bz2 29528612 diff --git a/sys-kernel/linux-headers/files/unistd.h-i386-pic.patch b/sys-kernel/linux-headers/files/unistd.h-i386-pic.patch new file mode 100644 index 000000000000..ab0b8ee31d0d --- /dev/null +++ b/sys-kernel/linux-headers/files/unistd.h-i386-pic.patch @@ -0,0 +1,163 @@ +--- ./include/asm-i386/unistd.h.orig 2005-01-29 12:15:26.000000000 +0100 ++++ ./include/asm-i386/unistd.h 2005-01-29 14:41:17.445762872 +0100 +@@ -314,6 +314,21 @@ + __syscall_return(type,__res); \ + } + ++#ifdef __PIC__ ++#define _syscall1(type,name,type1,arg1) \ ++type name(type1 arg1) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall1(type,name,type1,arg1) \ + type name(type1 arg1) \ + { \ +@@ -323,7 +338,23 @@ + : "0" (__NR_##name),"b" ((long)(arg1))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall2(type,name,type1,arg1,type2,arg2) \ ++type name(type1 arg1,type2 arg2) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1)),"c" ((long)(arg2))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall2(type,name,type1,arg1,type2,arg2) \ + type name(type1 arg1,type2 arg2) \ + { \ +@@ -333,7 +364,24 @@ + : "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ ++type name(type1 arg1,type2 arg2,type3 arg3) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ + type name(type1 arg1,type2 arg2,type3 arg3) \ + { \ +@@ -344,7 +392,24 @@ + "d" ((long)(arg3))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"r" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3)),"S" ((long)(arg4))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ + type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ + { \ +@@ -355,7 +420,25 @@ + "d" ((long)(arg3)),"S" ((long)(arg4))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ ++ type5,arg5) \ ++type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ : "=a" (__res) \ ++ : "0" (__NR_##name),"m" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5) \ + type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ +@@ -367,7 +450,30 @@ + "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5))); \ + __syscall_return(type,__res); \ + } ++#endif + ++#ifdef __PIC__ ++#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ ++ type5,arg5,type6,arg6) \ ++type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ ++{ \ ++long __res; \ ++__asm__ volatile (\ ++ "pushl %%ebp\n\t" \ ++ "movl %%eax,%%ebp\n\t" \ ++ "movl %1,%%eax\n\t" \ ++ "pushl %%ebx\n\t" \ ++ "movl %2,%%ebx\n\t" \ ++ "int $0x80\n\t" \ ++ "popl %%ebx\n\t" \ ++ "popl %%ebp\n\t" \ ++ : "=a" (__res) \ ++ : "i" (__NR_##name),"m" ((long)(arg1)),"c" ((long)(arg2)), \ ++ "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5)), \ ++ "0" ((long)(arg6))); \ ++__syscall_return(type,__res); \ ++} ++#else + #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5,type6,arg6) \ + type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ +@@ -380,6 +486,7 @@ + "0" ((long)(arg6))); \ + __syscall_return(type,__res); \ + } ++#endif + + #ifdef __KERNEL__ + #define __ARCH_WANT_IPC_PARSE_VERSION diff --git a/sys-kernel/linux-headers/linux-headers-2.4.22-r1.ebuild b/sys-kernel/linux-headers/linux-headers-2.4.22-r1.ebuild new file mode 100644 index 000000000000..bfee18302f68 --- /dev/null +++ b/sys-kernel/linux-headers/linux-headers-2.4.22-r1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.4.22-r1.ebuild,v 1.1 2005/02/12 21:53:30 solar Exp $ + +ETYPE="headers" +inherit kernel eutils +IUSE="" +OKV="${PV/_/-}" +KV="${OKV}" +S=${WORKDIR}/linux-${OKV} +EXTRAVERSION="" + +# What's in this kernel? + +# INCLUDED: +# 1) linux sources from kernel.org +# 2) patch for big-endian machines to fix header issue (currently sparc only) + +DESCRIPTION="Linux ${OKV} headers from kernel.org" +SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2" +HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org/" +LICENSE="GPL-2" +SLOT="0" +PROVIDE="virtual/kernel virtual/os-headers" +KEYWORDS="~ppc ~x86 -mips ~ppc64 ~s390" + +DEPEND="!virtual/os-headers" + + +pkg_setup() { + # Figure out what architecture we are, and set ARCH appropriately + ARCH="$(uname -m)" + ARCH="$(echo ${ARCH} | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)" + [ "$ARCH" == "sparc" -a "$PROFILE_ARCH" == "sparc64" ] && ARCH=sparc64 + + + # Archs which have their own separate header packages, add a check here + # and redirect the user to them + case "${ARCH}" in + mips|mips64|hppa) + eerror "These headers are not appropriate for your architecture." + eerror "Please use sys-kernel/${ARCH/64/}-headers instead." + die + ;; + esac +} + +src_unpack() { + unpack ${A} + cd ${S} + + # Big Endian architectures need this patch in order to build certain programs properly + # Right now, this fix only affects sparc. Other big-endian archs will need to edit this if they need it. + # Issue will be fixed in 2.4.23+ kernel series (issue has been fixed in 2.6.0). + # Closes Bug #26062 + if use sparc; then + epatch ${FILESDIR}/bigendian-byteorder-fix.patch + fi + + + # This patch fixes an issue involving the use of gcc's -ansi flag and the __u64 datatype. + # It only patches asm-i386, so we only apply it if x86. Unknown if this is needed for other archs. + # Closes Bug #32246 + if use x86; then + epatch ${FILESDIR}/${PN}-strict-ansi-fix.patch + epatch ${FILESDIR}/unistd.h-i386-pic.patch + fi + + use ppc64 && epatch ${FILESDIR}/${PN}-soundcard-ppc64.patch + + # Do Stuff + kernel_universal_unpack +} + +src_compile() { + + # Do normal src_compile stuff + kernel_src_compile + + # If this is sparc, then generate asm_offsets.h + if use sparc; then + make dep ARCH=${ARCH} || die "Failed to run 'make dep'" + fi +} + +src_install() { + + # Do normal src_install stuff + kernel_src_install + + # If this is sparc, then we need to place asm_offsets.h in the proper location(s) + if use sparc; then + + # We don't need /usr/include/asm, generate-asm-sparc will take care of this + rm -Rf ${D}/usr/include/asm + + # We do need empty directories, though... + dodir /usr/include/asm + dodir /usr/include/asm-sparc + + # Copy asm-sparc + cp -ax ${S}/include/asm-sparc/* ${D}/usr/include/asm-sparc + + # If this is sparc64, then we need asm-sparc64 stuff too + if [ "${PROFILE_ARCH}" = "sparc64" ]; then + dodir /usr/include/asm-sparc64 + cp -ax ${S}/include/asm-sparc64/* ${D}/usr/include/asm-sparc64 + fi + + # Check if generate-asm-sparc exists + if [ -a "${FILESDIR}/generate-asm-sparc" ]; then + + # Copy generate-asm-sparc into the sandox + cp ${FILESDIR}/generate-asm-sparc ${WORKDIR}/generate-asm-sparc + + # Just in case generate-asm-sparc isn't executable, make it so + if [ ! -x "${WORKDIR}/generate-asm-sparc" ]; then + chmod +x ${WORKDIR}/generate-asm-sparc + fi + + # Generate /usr/include/asm for sparc systems + ${WORKDIR}/generate-asm-sparc ${D}/usr/include + else + eerror "${FILESDIR}/generate-asm-sparc doesn't exist!" + die + fi + fi +} + +pkg_preinst() { + kernel_pkg_preinst +} + +pkg_postinst() { + kernel_pkg_postinst + + einfo "Kernel headers are usually only used when recompiling glibc, as such, following the installation" + einfo "of newer headers, it is advised that you re-merge glibc as follows:" + einfo "emerge glibc" + einfo "Failure to do so will cause glibc to not make use of newer features present in the updated kernel" + einfo "headers." +} |