Linux build fixes
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / DWARFManager.cpp
index e0e07b9..028b1e4 100644 (file)
@@ -32,7 +32,6 @@
 #include "LEB128.h"\r
 #include "DWARFManager.h"\r
 \r
 #include "LEB128.h"\r
 #include "DWARFManager.h"\r
 \r
-\r
 // Definitions for debugging\r
 //#define DEBUG_NumCU                  0x3                             // CU number to debug or undefine it\r
 //#define DEBUG_VariableName   "sound_death"                           // Variable name to look for or undefine it\r
 // Definitions for debugging\r
 //#define DEBUG_NumCU                  0x3                             // CU number to debug or undefine it\r
 //#define DEBUG_VariableName   "sound_death"                           // Variable name to look for or undefine it\r
@@ -156,7 +155,7 @@ typedef struct CUStruct
        CUStruct_LineSrc *PtrUsedLinesSrc;                              // Pointer to the used source lines list structure\r
        char **PtrUsedLinesLoadSrc;                                             // Pointer lists to each used source line referenced by the CUStruct_LineSrc structure\r
        size_t *PtrUsedNumLines;                                                // List of the number lines used\r
        CUStruct_LineSrc *PtrUsedLinesSrc;                              // Pointer to the used source lines list structure\r
        char **PtrUsedLinesLoadSrc;                                             // Pointer lists to each used source line referenced by the CUStruct_LineSrc structure\r
        size_t *PtrUsedNumLines;                                                // List of the number lines used\r
-       struct _stat _statbuf;                                                  // File information\r
+       struct stat _statbuf;                                                   // File information\r
        DWARFstatus Status;                                                             // File status\r
 }S_CUStruct;\r
 \r
        DWARFstatus Status;                                                             // File status\r
 }S_CUStruct;\r
 \r
@@ -170,7 +169,7 @@ Dwarf_Debug dbg;
 CUStruct *PtrCU;\r
 char **ListSearchPaths;\r
 size_t NbSearchPaths;\r
 CUStruct *PtrCU;\r
 char **ListSearchPaths;\r
 size_t NbSearchPaths;\r
-struct _stat FileElfExeInfo;\r
+struct stat FileElfExeInfo;\r
 \r
 \r
 //\r
 \r
 \r
 //\r
@@ -250,7 +249,7 @@ bool DWARFManager_Close(void)
 \r
 \r
 // Dwarf manager Elf init\r
 \r
 \r
 // Dwarf manager Elf init\r
-int    DWARFManager_ElfInit(Elf *ElfPtr, struct _stat FileElfInfo)\r
+int    DWARFManager_ElfInit(Elf *ElfPtr, struct stat FileElfInfo)\r
 {\r
        if ((LibDwarf = dwarf_elf_init(ElfPtr, DW_DLC_READ, (Dwarf_Handler)DWARFManager_ErrorHandler, errarg, &dbg, &error)) == DW_DLV_OK)\r
        {\r
 {\r
        if ((LibDwarf = dwarf_elf_init(ElfPtr, DW_DLC_READ, (Dwarf_Handler)DWARFManager_ErrorHandler, errarg, &dbg, &error)) == DW_DLV_OK)\r
        {\r
@@ -478,10 +477,12 @@ void DWARFManager_InitDMI(void)
                                                                        PtrCU[NbCU].PtrFullFilename = (char *)realloc(PtrCU[NbCU].PtrFullFilename, strlen(PtrCU[NbCU].PtrSourceFilename) + strlen((const char *)ListSearchPaths[i]) + 2);\r
 #if defined(_WIN32)\r
                                                                        sprintf(PtrCU[NbCU].PtrFullFilename, "%s\\%s", ListSearchPaths[i], PtrCU[NbCU].PtrSourceFilename);\r
                                                                        PtrCU[NbCU].PtrFullFilename = (char *)realloc(PtrCU[NbCU].PtrFullFilename, strlen(PtrCU[NbCU].PtrSourceFilename) + strlen((const char *)ListSearchPaths[i]) + 2);\r
 #if defined(_WIN32)\r
                                                                        sprintf(PtrCU[NbCU].PtrFullFilename, "%s\\%s", ListSearchPaths[i], PtrCU[NbCU].PtrSourceFilename);\r
+                                                                       if (!fopen_s(&SrcFile, PtrCU[NbCU].PtrFullFilename, "rb"))\r
 #else\r
                                                                        sprintf(PtrCU[NbCU].PtrFullFilename, "%s/%s", ListSearchPaths[i], PtrCU[NbCU].PtrSourceFilename);\r
 #else\r
                                                                        sprintf(PtrCU[NbCU].PtrFullFilename, "%s/%s", ListSearchPaths[i], PtrCU[NbCU].PtrSourceFilename);\r
+                                                                       SrcFile = fopen(PtrCU[NbCU].PtrFullFilename, "rb");\r
+                                                                       if (SrcFile == NULL)\r
 #endif\r
 #endif\r
-                                                                       if (!fopen_s(&SrcFile, PtrCU[NbCU].PtrFullFilename, "rb"))\r
                                                                        {\r
                                                                                PtrCU[NbCU].PtrSourceFileDirectory = (char *)realloc(PtrCU[NbCU].PtrSourceFileDirectory, strlen(ListSearchPaths[i]) + 1);\r
                                                                                strcpy(PtrCU[NbCU].PtrSourceFileDirectory, ListSearchPaths[i]);\r
                                                                        {\r
                                                                                PtrCU[NbCU].PtrSourceFileDirectory = (char *)realloc(PtrCU[NbCU].PtrSourceFileDirectory, strlen(ListSearchPaths[i]) + 1);\r
                                                                                strcpy(PtrCU[NbCU].PtrSourceFileDirectory, ListSearchPaths[i]);\r
@@ -535,13 +536,18 @@ void DWARFManager_InitDMI(void)
                                                        }\r
 \r
                                                        // Get the source file information\r
                                                        }\r
 \r
                                                        // Get the source file information\r
-                                                       if (!_stat(PtrCU[NbCU].PtrFullFilename, &PtrCU[NbCU]._statbuf))\r
+                                                       if (!stat(PtrCU[NbCU].PtrFullFilename, &PtrCU[NbCU]._statbuf))\r
                                                        {\r
                                                                // check the time stamp with the executable\r
                                                                if (PtrCU[NbCU]._statbuf.st_mtime <= FileElfExeInfo.st_mtime)\r
                                                                {\r
                                                                        // Open the source file as a binary file\r
                                                        {\r
                                                                // check the time stamp with the executable\r
                                                                if (PtrCU[NbCU]._statbuf.st_mtime <= FileElfExeInfo.st_mtime)\r
                                                                {\r
                                                                        // Open the source file as a binary file\r
+#if defined(_WIN32)\r
                                                                        if (!fopen_s(&SrcFile, PtrCU[NbCU].PtrFullFilename, "rb"))\r
                                                                        if (!fopen_s(&SrcFile, PtrCU[NbCU].PtrFullFilename, "rb"))\r
+#else\r
+                                    SrcFile = fopen(PtrCU[NbCU].PtrFullFilename, "rb");\r
+                                                                       if (SrcFile == NULL)\r
+#endif\r
                                                                        {\r
                                                                                if (!fseek(SrcFile, 0, SEEK_END))\r
                                                                                {\r
                                                                        {\r
                                                                                if (!fseek(SrcFile, 0, SEEK_END))\r
                                                                                {\r
@@ -552,7 +558,11 @@ void DWARFManager_InitDMI(void)
                                                                                                        if (PtrCU[NbCU].PtrLoadSrc = Ptr = Ptr1 = (char *)calloc(1, (PtrCU[NbCU].SizeLoadSrc + 2)))\r
                                                                                                        {\r
                                                                                                                // Read whole file\r
                                                                                                        if (PtrCU[NbCU].PtrLoadSrc = Ptr = Ptr1 = (char *)calloc(1, (PtrCU[NbCU].SizeLoadSrc + 2)))\r
                                                                                                        {\r
                                                                                                                // Read whole file\r
+#if defined(_WIN32)                                                                                                            \r
                                                                                                                if (fread_s(PtrCU[NbCU].PtrLoadSrc, PtrCU[NbCU].SizeLoadSrc, PtrCU[NbCU].SizeLoadSrc, 1, SrcFile) != 1)\r
                                                                                                                if (fread_s(PtrCU[NbCU].PtrLoadSrc, PtrCU[NbCU].SizeLoadSrc, PtrCU[NbCU].SizeLoadSrc, 1, SrcFile) != 1)\r
+#else\r
+                                                                                                               if (fread(PtrCU[NbCU].PtrLoadSrc, PtrCU[NbCU].SizeLoadSrc, 1, SrcFile) != 1)\r
+#endif\r
                                                                                                                {\r
                                                                                                                        free(PtrCU[NbCU].PtrLoadSrc);\r
                                                                                                                        PtrCU[NbCU].PtrLoadSrc = NULL;\r
                                                                                                                {\r
                                                                                                                        free(PtrCU[NbCU].PtrLoadSrc);\r
                                                                                                                        PtrCU[NbCU].PtrLoadSrc = NULL;\r