Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
home:Andreas_Schwab:Factory
coreutils
coreutils-sysinfo.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File coreutils-sysinfo.patch of Package coreutils
--- src/uname.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) Index: src/uname.c =================================================================== --- src/uname.c.orig +++ src/uname.c @@ -341,6 +341,36 @@ main (int argc, char **argv) element = processor; } #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); } @@ -366,6 +396,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); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor