forked from pool/coreutils
26558dd009
* src/cut.c: Instead of usig unreliable alloca() stack allocation, use heap allocation via xmalloc()+free(). (coreutils-i18n.patch) - Fix test-suite errors (bnc#798261). * tests/cp/fiemap-FMR: Fix path to src directory and declare require_valgrind_ function. (coreutils-cp-corrupt-fragmented-sparse.patch) * tests/misc/cut: Fix src/cut.c to properly pass output-delimiter tests. Synchronize cut.c related part of the i18n patch with Fedora's. Merge coreutils-i18n-infloop.patch into coreutils-i18n.patch. Merge coreutils-i18n-uninit.patch into coreutils-i18n.patch. In tests/misc/cut, do not replace the non-i18n error messages. (coreutils-i18n.patch) * tests/rm/ext3-perf: This test failed due to heavy parallel CPU and/or disk load because it is based on timeouts. Do not run the test-suite with 'make -jN. (coreutils.spec, coreutils-testsuite.spec) * Further spec changes: Run more tests: also run "very expensive" tests; add acl, python-pyinotify, strace and valgrind to the build requirements. Remove patch5 and patch6 as they are now merged into coreutils-i18n.patch (see above). (coreutils.spec, coreutils-testsuite.spec) - Maintenance changes: (coreutils.spec, coreutils-testsuite.spec) * Add perl and texinfo to the build requirements as they are needed to re-generate the man pages and the texinfo documentation. * Remove already-active "-Wall" compiler option from CFLAGS variable. * Install the compressed test-suite.log into the documentation directory of the coreutils-testsuite package (section %check and %files). * Properly guard the spec sections for the coreutils and the coreutils-testsuite package. * Update patches to reflect new line numbers. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=172
61 lines
1.7 KiB
Diff
61 lines
1.7 KiB
Diff
Index: src/uname.c
|
|
===================================================================
|
|
--- src/uname.c.orig
|
|
+++ src/uname.c
|
|
@@ -337,6 +337,36 @@ main (int argc, char **argv)
|
|
# endif
|
|
}
|
|
#endif
|
|
+ if (element == unknown)
|
|
+ {
|
|
+ struct utsname name;
|
|
+ static char processor[sizeof (name.machine)];
|
|
+ if (uname (&name) != 0)
|
|
+ error (EXIT_FAILURE, errno, _("cannot get system name"));
|
|
+ strcpy (processor, name.machine);
|
|
+ element = processor;
|
|
+#ifdef __linux__
|
|
+ if (!strcmp (element, "i686"))
|
|
+ {
|
|
+ /* Check for Athlon */
|
|
+ char line[1024];
|
|
+ FILE *f = fopen ("/proc/cpuinfo", "r");
|
|
+ if (f)
|
|
+ {
|
|
+ while (fgets (line, sizeof (line), f) > 0)
|
|
+ {
|
|
+ if (strncmp (line, "vendor_id", 9) == 0)
|
|
+ {
|
|
+ if (strstr (line, "AuthenticAMD"))
|
|
+ element = "athlon";
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ fclose (f);
|
|
+ }
|
|
+ }
|
|
+#endif
|
|
+ }
|
|
if (! (toprint == UINT_MAX && element == unknown))
|
|
print_element (element);
|
|
}
|
|
@@ -362,6 +392,18 @@ main (int argc, char **argv)
|
|
element = hardware_platform;
|
|
}
|
|
#endif
|
|
+ if (element == unknown)
|
|
+ {
|
|
+ struct utsname name;
|
|
+ static char hardware_platform[sizeof (name.machine)];
|
|
+ if (uname (&name) != 0)
|
|
+ error (EXIT_FAILURE, errno, _("cannot get system name"));
|
|
+ strcpy (hardware_platform, name.machine);
|
|
+ if (hardware_platform[0] == 'i' && hardware_platform[2] == '8'
|
|
+ && hardware_platform[3] == '6' && hardware_platform[4] == 0)
|
|
+ hardware_platform[1] = '3';
|
|
+ element = hardware_platform;
|
|
+ }
|
|
if (! (toprint == UINT_MAX && element == unknown))
|
|
print_element (element);
|
|
}
|