- Partial revert of 42973 for the systeminfo utility -- the issue was fixed in 42930
authorStefan Ginsberg <stefanginsberg@gmail.com>
Mon, 31 Aug 2009 14:37:54 +0000 (14:37 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Mon, 31 Aug 2009 14:37:54 +0000 (14:37 +0000)
- GCC 4.1.3 doesn't support %I64 -- compile the code conditionally

svn path=/trunk/; revision=42975

rosapps/applications/devutils/symdump/symdump.c
rosapps/applications/devutils/syscalldump/syscalldump.c
rosapps/applications/sysutils/systeminfo/systeminfo.c

index 22b1a0e..bd56edd 100644 (file)
@@ -875,7 +875,12 @@ EnumSymbolsProc(
                }
                else
                {
                }
                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",
                    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)
                        {
                        pSymInfo->Name, pSymInfo->TypeIndex, pSymInfo->Flags, pSymInfo->Value);
                        //if (pSymInfo->Flags & SYMFLAG_FUNCTION)
                        {
index bd160ff..0407e68 100644 (file)
@@ -36,7 +36,12 @@ ImageSymToVa(HANDLE hProcess, PSYMBOL_INFO pSym, PBYTE pModule, PCSTR Name)
                printf("SymGetSymFromName64() failed: %ld\n", GetLastError());
                return 0;
        }
                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);
        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);
 
        NtHeaders = ImageNtHeader(pModule);
        p = ImageRvaToVa(NtHeaders, pModule, pSym->Address - pSym->ModBase, NULL);
index ea13782..d641c20 100644 (file)
@@ -358,8 +358,7 @@ AllSysInfo(VOID)
 int
 main(int argc, char *argv[])
 {
 int
 main(int argc, char *argv[])
 {
-    char str[] = "/?";
-       if (argc > 1 && !strcmp(argv[1], str))
+       if (argc > 1 && !strcmp(argv[1], "/?"))
        {
                Usage();
                return 0;
        {
                Usage();
                return 0;