From 125b919b063e545ecd07b320d364d3d7d0b1a4fc Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Mon, 31 Aug 2009 14:37:54 +0000 Subject: [PATCH] - Partial revert of 42973 for the systeminfo utility -- the issue was fixed in 42930 - GCC 4.1.3 doesn't support %I64 -- compile the code conditionally svn path=/trunk/; revision=42975 --- rosapps/applications/devutils/symdump/symdump.c | 5 +++++ rosapps/applications/devutils/syscalldump/syscalldump.c | 5 +++++ rosapps/applications/sysutils/systeminfo/systeminfo.c | 3 +-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/rosapps/applications/devutils/symdump/symdump.c b/rosapps/applications/devutils/symdump/symdump.c index 22b1a0e4f0c..bd56edd6aaa 100644 --- a/rosapps/applications/devutils/symdump/symdump.c +++ b/rosapps/applications/devutils/symdump/symdump.c @@ -875,7 +875,12 @@ EnumSymbolsProc( } else { +#if defined(__GNUC__) && \ + (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ < 40400) + printf("Symbol: %s, TypeIndex=%ld, Flags=%lx, Value=0x%llx\n", +#else printf("Symbol: %s, TypeIndex=%ld, Flags=%lx, Value=0x%I64x\n", +#endif pSymInfo->Name, pSymInfo->TypeIndex, pSymInfo->Flags, pSymInfo->Value); //if (pSymInfo->Flags & SYMFLAG_FUNCTION) { diff --git a/rosapps/applications/devutils/syscalldump/syscalldump.c b/rosapps/applications/devutils/syscalldump/syscalldump.c index bd160ff87e5..0407e685cbe 100644 --- a/rosapps/applications/devutils/syscalldump/syscalldump.c +++ b/rosapps/applications/devutils/syscalldump/syscalldump.c @@ -36,7 +36,12 @@ ImageSymToVa(HANDLE hProcess, PSYMBOL_INFO pSym, PBYTE pModule, PCSTR Name) printf("SymGetSymFromName64() failed: %ld\n", GetLastError()); return 0; } +#if defined(__GNUC__) && \ + (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ < 40400) + printf("looking up adress for %s: 0x%llx\n", Name, pSym->Address); +#else printf("looking up adress for %s: 0x%I64x\n", Name, pSym->Address); +#endif NtHeaders = ImageNtHeader(pModule); p = ImageRvaToVa(NtHeaders, pModule, pSym->Address - pSym->ModBase, NULL); diff --git a/rosapps/applications/sysutils/systeminfo/systeminfo.c b/rosapps/applications/sysutils/systeminfo/systeminfo.c index ea13782a28d..d641c200da0 100644 --- a/rosapps/applications/sysutils/systeminfo/systeminfo.c +++ b/rosapps/applications/sysutils/systeminfo/systeminfo.c @@ -358,8 +358,7 @@ AllSysInfo(VOID) int main(int argc, char *argv[]) { - char str[] = "/?"; - if (argc > 1 && !strcmp(argv[1], str)) + if (argc > 1 && !strcmp(argv[1], "/?")) { Usage(); return 0;