r1663 - crux-2.2/ports/core/coreutils
Author: jue Date: 2006-07-31 16:26:39 +0200 (Mon, 31 Jul 2006) New Revision: 1663 Added: crux-2.2/ports/core/coreutils/coreutils-uname.patch Removed: crux-2.2/ports/core/coreutils/coreutils-5.94-uname.patch Modified: crux-2.2/ports/core/coreutils/.md5sum crux-2.2/ports/core/coreutils/Pkgfile Log: coreutils: update to 5.97 Modified: crux-2.2/ports/core/coreutils/.md5sum =================================================================== --- crux-2.2/ports/core/coreutils/.md5sum 2006-07-31 14:21:59 UTC (rev 1662) +++ crux-2.2/ports/core/coreutils/.md5sum 2006-07-31 14:26:39 UTC (rev 1663) @@ -1,2 +1,2 @@ -c05b735710fbd62239588c07084852a0 coreutils-5.94-uname.patch -11985c8345371546da8ff13f7efae359 coreutils-5.94.tar.bz2 +1537379b6264a1def443713988a78020 coreutils-5.97.tar.bz2 +c05b735710fbd62239588c07084852a0 coreutils-uname.patch Modified: crux-2.2/ports/core/coreutils/Pkgfile =================================================================== --- crux-2.2/ports/core/coreutils/Pkgfile 2006-07-31 14:21:59 UTC (rev 1662) +++ crux-2.2/ports/core/coreutils/Pkgfile 2006-07-31 14:26:39 UTC (rev 1663) @@ -3,14 +3,14 @@ # Maintainer: Per Lid�n, core-ports at crux dot nu name=coreutils -version=5.94 +version=5.97 release=1 -source=(http://mirrors.sunsite.dk/gnu/$name/$name-$version.tar.bz2 \ - $name-$version-uname.patch) +source=(http://ftp.gnu.org/pub/gnu/$name/$name-$version.tar.bz2 \ + $name-uname.patch) build() { cd $name-$version - patch -p1 < ../$name-$version-uname.patch + patch -p1 < ../$name-uname.patch DEFAULT_POSIX2_VERSION=199209 \ ./configure --prefix=/usr \ --mandir=/usr/man \ Deleted: crux-2.2/ports/core/coreutils/coreutils-5.94-uname.patch =================================================================== --- crux-2.2/ports/core/coreutils/coreutils-5.94-uname.patch 2006-07-31 14:21:59 UTC (rev 1662) +++ crux-2.2/ports/core/coreutils/coreutils-5.94-uname.patch 2006-07-31 14:26:39 UTC (rev 1663) @@ -1,182 +0,0 @@ -Submitted By: Matthew Burgess <matthew at linuxfromscratch dot org> -Date: 2005-10-23 -Initial Package Version: 5.92 -Upstream Status: pending -Origin: Scot McPherson -Description: Fix the output of uname once and for all. - - $ uname -m # This always worked. - i686 - $ uname -i # Used to report 'unknown'. - i386 - $ uname -p # Likewise. - athlon-4 - -diff -Naur coreutils-5.92.orig/src/uname.c coreutils-5.92/src/uname.c ---- coreutils-5.92.orig/src/uname.c 2005-09-15 20:34:42.000000000 +0000 -+++ coreutils-5.92/src/uname.c 2005-10-23 10:14:06.000000000 +0000 -@@ -29,6 +29,12 @@ - # include <sys/systeminfo.h> - #endif - -+#ifdef linux -+#define cpuid(in,a,b,c,d)\ -+ asm("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in)); -+int has_sse( void ); -+#endif -+ - #if HAVE_SYS_SYSCTL_H - # if HAVE_SYS_PARAM_H - # include <sys/param.h> /* needed for OpenBSD 3.0 */ -@@ -256,6 +262,96 @@ - if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) - element = processor; - } -+#else -+ { -+ struct utsname u; -+ uname (&u); -+ element = u.machine; -+#ifdef linux -+/****************************************************************************** -+ * -+ * Hello, major hack. I shouldn't have to do this. struct utsname should -+ * have another element with this info in it. There's probably a struct -+ * somewhere that has this info, I just don't know where it is. -+ * -+ *****************************************************************************/ -+ -+ if( !strcmp( element, "i586" ) || !strcmp( element, "i686" ) ) { -+ int eax, ebx, ecx, edx, unused; -+ int model, family, sse; -+ -+ cpuid(0,unused,ebx,ecx,edx); -+ cpuid(1,eax,unused,unused,unused); -+ model = (eax >> 4) & 0xf; -+ family = (eax >> 8) & 0xf; -+ -+ switch(ebx) { -+ case 0x756e6547: // Intel -+ switch( family ) { -+ case 5: // Pentium -+ if( model <= 3 ) -+ element="pentium"; -+ if( model > 3 ) -+ element="pentium-mmx"; -+ break; -+ case 6: // PentiumPro - Pentium III -+ if( model == 1 ) // Pentium Pro -+ element="pentiumpro"; -+ if( ( model == 3 ) || ( model == 5 ) || -+ ( model == 6 ) ) // Pentium II -+ element="pentium2"; -+ if( ( model == 7 ) || ( model == 8 ) || -+ ( model == 10 ) || ( model == 11 ) ) // These are all Pentium III -+ element="pentium3"; -+ break; -+ case 15: // Pentium4 -+ element="pentium4"; -+ break; -+ default: -+ break; -+ } // end switch( family ) -+ break; -+ case 0x68747541: // AMD -+ switch(family) { -+ case 5: -+ if( ( model == 0 ) || ( model == 1 ) || -+ ( model == 2 ) || ( model == 3 ) ) // K5 -+ element="i586"; -+ if( ( model == 6 ) || ( model == 7 ) ) // K6 -+ element="k6"; -+ if( model == 8 ) // K6-2 -+ element="k6-2"; -+ if( model == 9 ) // K6-3 -+ element="k6-3"; -+ break; -+ case 6: -+ if( model <= 4 ) -+ element="athlon"; -+ if( model > 4 ) { -+ sse = has_sse(); -+ if( sse == 0 ) -+ element="athlon"; -+ if( sse == 1 ) -+ element="athlon-4"; -+ } -+ break; -+ case 15: -+ element="athlon-4"; -+ break; -+ default: -+ break; -+ } // end switch( family ) -+ break; -+ case 0x69727943: // Cyrix -+ element="i386"; // who knows what cyrix supports, lets be safe -+ break; -+ default: -+ break; -+ } // end switch(ebx) -+ } -+ -+#endif -+ } - #endif - #ifdef UNAME_PROCESSOR - if (element == unknown) -@@ -293,7 +389,7 @@ - - if (toprint & PRINT_HARDWARE_PLATFORM) - { -- char const *element = unknown; -+ char *element = unknown; - #if HAVE_SYSINFO && defined SI_PLATFORM - { - static char hardware_platform[257]; -@@ -301,6 +397,15 @@ - hardware_platform, sizeof hardware_platform)) - element = hardware_platform; - } -+#else -+ { -+ struct utsname u; -+ uname (&u); -+ element = u.machine; -+ if (strlen (element) == 4 && element[0] == 'i' && element[2] == '8' -+ && element[3] == '6') -+ element[1] = '3'; -+ } - #endif - #ifdef UNAME_HARDWARE_PLATFORM - if (element == unknown) -@@ -323,3 +428,29 @@ - - exit (EXIT_SUCCESS); - } -+ -+#ifdef linux -+ -+/****************************************************************************** -+ * -+ * int has_sse( void ) -+ * Checks Athlon CPU's to see if they support SSE. -+ * -+ *****************************************************************************/ -+ -+int has_sse( void ) -+{ -+ unsigned long edx, unused; -+ int sse; -+ cpuid(1,unused,unused,unused,edx); -+ // I think, I need this tested on a Duron with SSE -+ // and one without it. -+ sse = edx & 0x2000000; -+ if( sse == 0 ) { -+ return 0; -+ } else { -+ return 1; -+ } -+ -+} -+#endif Copied: crux-2.2/ports/core/coreutils/coreutils-uname.patch (from rev 1662, crux-2.2/ports/core/coreutils/coreutils-5.94-uname.patch) =================================================================== --- crux-2.2/ports/core/coreutils/coreutils-uname.patch (rev 0) +++ crux-2.2/ports/core/coreutils/coreutils-uname.patch 2006-07-31 14:26:39 UTC (rev 1663) @@ -0,0 +1,182 @@ +Submitted By: Matthew Burgess <matthew at linuxfromscratch dot org> +Date: 2005-10-23 +Initial Package Version: 5.92 +Upstream Status: pending +Origin: Scot McPherson +Description: Fix the output of uname once and for all. + + $ uname -m # This always worked. + i686 + $ uname -i # Used to report 'unknown'. + i386 + $ uname -p # Likewise. + athlon-4 + +diff -Naur coreutils-5.92.orig/src/uname.c coreutils-5.92/src/uname.c +--- coreutils-5.92.orig/src/uname.c 2005-09-15 20:34:42.000000000 +0000 ++++ coreutils-5.92/src/uname.c 2005-10-23 10:14:06.000000000 +0000 +@@ -29,6 +29,12 @@ + # include <sys/systeminfo.h> + #endif + ++#ifdef linux ++#define cpuid(in,a,b,c,d)\ ++ asm("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in)); ++int has_sse( void ); ++#endif ++ + #if HAVE_SYS_SYSCTL_H + # if HAVE_SYS_PARAM_H + # include <sys/param.h> /* needed for OpenBSD 3.0 */ +@@ -256,6 +262,96 @@ + if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) + element = processor; + } ++#else ++ { ++ struct utsname u; ++ uname (&u); ++ element = u.machine; ++#ifdef linux ++/****************************************************************************** ++ * ++ * Hello, major hack. I shouldn't have to do this. struct utsname should ++ * have another element with this info in it. There's probably a struct ++ * somewhere that has this info, I just don't know where it is. ++ * ++ *****************************************************************************/ ++ ++ if( !strcmp( element, "i586" ) || !strcmp( element, "i686" ) ) { ++ int eax, ebx, ecx, edx, unused; ++ int model, family, sse; ++ ++ cpuid(0,unused,ebx,ecx,edx); ++ cpuid(1,eax,unused,unused,unused); ++ model = (eax >> 4) & 0xf; ++ family = (eax >> 8) & 0xf; ++ ++ switch(ebx) { ++ case 0x756e6547: // Intel ++ switch( family ) { ++ case 5: // Pentium ++ if( model <= 3 ) ++ element="pentium"; ++ if( model > 3 ) ++ element="pentium-mmx"; ++ break; ++ case 6: // PentiumPro - Pentium III ++ if( model == 1 ) // Pentium Pro ++ element="pentiumpro"; ++ if( ( model == 3 ) || ( model == 5 ) || ++ ( model == 6 ) ) // Pentium II ++ element="pentium2"; ++ if( ( model == 7 ) || ( model == 8 ) || ++ ( model == 10 ) || ( model == 11 ) ) // These are all Pentium III ++ element="pentium3"; ++ break; ++ case 15: // Pentium4 ++ element="pentium4"; ++ break; ++ default: ++ break; ++ } // end switch( family ) ++ break; ++ case 0x68747541: // AMD ++ switch(family) { ++ case 5: ++ if( ( model == 0 ) || ( model == 1 ) || ++ ( model == 2 ) || ( model == 3 ) ) // K5 ++ element="i586"; ++ if( ( model == 6 ) || ( model == 7 ) ) // K6 ++ element="k6"; ++ if( model == 8 ) // K6-2 ++ element="k6-2"; ++ if( model == 9 ) // K6-3 ++ element="k6-3"; ++ break; ++ case 6: ++ if( model <= 4 ) ++ element="athlon"; ++ if( model > 4 ) { ++ sse = has_sse(); ++ if( sse == 0 ) ++ element="athlon"; ++ if( sse == 1 ) ++ element="athlon-4"; ++ } ++ break; ++ case 15: ++ element="athlon-4"; ++ break; ++ default: ++ break; ++ } // end switch( family ) ++ break; ++ case 0x69727943: // Cyrix ++ element="i386"; // who knows what cyrix supports, lets be safe ++ break; ++ default: ++ break; ++ } // end switch(ebx) ++ } ++ ++#endif ++ } + #endif + #ifdef UNAME_PROCESSOR + if (element == unknown) +@@ -293,7 +389,7 @@ + + if (toprint & PRINT_HARDWARE_PLATFORM) + { +- char const *element = unknown; ++ char *element = unknown; + #if HAVE_SYSINFO && defined SI_PLATFORM + { + static char hardware_platform[257]; +@@ -301,6 +397,15 @@ + hardware_platform, sizeof hardware_platform)) + element = hardware_platform; + } ++#else ++ { ++ struct utsname u; ++ uname (&u); ++ element = u.machine; ++ if (strlen (element) == 4 && element[0] == 'i' && element[2] == '8' ++ && element[3] == '6') ++ element[1] = '3'; ++ } + #endif + #ifdef UNAME_HARDWARE_PLATFORM + if (element == unknown) +@@ -323,3 +428,29 @@ + + exit (EXIT_SUCCESS); + } ++ ++#ifdef linux ++ ++/****************************************************************************** ++ * ++ * int has_sse( void ) ++ * Checks Athlon CPU's to see if they support SSE. ++ * ++ *****************************************************************************/ ++ ++int has_sse( void ) ++{ ++ unsigned long edx, unused; ++ int sse; ++ cpuid(1,unused,unused,unused,edx); ++ // I think, I need this tested on a Duron with SSE ++ // and one without it. ++ sse = edx & 0x2000000; ++ if( sse == 0 ) { ++ return 0; ++ } else { ++ return 1; ++ } ++ ++} ++#endif
participants (1)
-
crux@crux.nu