* Temporarily go back to using the ret^H^H^H previous way of using debug info. Build will, for example, be slower, take double the disk space it needs right now, but...
* Introduce __ROS_DWARF__ for the meaning __ROS_CMAKE__ implied previously.

svn path=/trunk/; revision=54055
This commit is contained in:
Amine Khaldi 2011-10-08 16:47:57 +00:00
parent 0fa1475dfd
commit 41fe0a5043
12 changed files with 55 additions and 44 deletions

View file

@ -61,7 +61,7 @@ if(NOT CMAKE_CROSSCOMPILING)
add_subdirectory(lib) add_subdirectory(lib)
if(NOT MSVC) if(NOT MSVC)
export(TARGETS widl wrc gendib cabman cdmake mkhive obj2bin spec2def geninc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) export(TARGETS widl wrc gendib cabman cdmake mkhive obj2bin spec2def geninc rsym FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
else() else()
export(TARGETS gendib cabman cdmake mkhive obj2bin spec2def geninc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) export(TARGETS gendib cabman cdmake mkhive obj2bin spec2def geninc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
endif() endif()

View file

@ -8,7 +8,8 @@ endif()
add_compile_flags("-pipe -fms-extensions") add_compile_flags("-pipe -fms-extensions")
# Debugging (Note: DWARF-4 on 4.5.1 when we ship) # Debugging (Note: DWARF-4 on 4.5.1 when we ship)
add_compile_flags("-gdwarf-2 -g2 -femit-struct-debug-detailed=none -feliminate-unused-debug-types") # add_compile_flags("-gdwarf-2 -g2 -femit-struct-debug-detailed=none -feliminate-unused-debug-types")
add_compile_flags("-gstabs+")
# Do not allow warnings # Do not allow warnings
add_compile_flags("-Werror") add_compile_flags("-Werror")
@ -87,17 +88,29 @@ endif()
link_directories(${REACTOS_BINARY_DIR}/lib/sdk/crt) link_directories(${REACTOS_BINARY_DIR}/lib/sdk/crt)
set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>") get_target_property(RSYM native-rsym IMPORTED_LOCATION_NOCONFIG)
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>") set(CMAKE_C_LINK_EXECUTABLE
"<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
"${RSYM} <TARGET> <TARGET>")
set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
"${RSYM} <TARGET> <TARGET>")
set(CMAKE_EXE_LINKER_FLAGS "-nostdlib -Wl,--enable-auto-image-base,--disable-auto-import,--disable-stdcall-fixup") set(CMAKE_EXE_LINKER_FLAGS "-nostdlib -Wl,--enable-auto-image-base,--disable-auto-import,--disable-stdcall-fixup")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--disable-stdcall-fixup") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--disable-stdcall-fixup")
set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>") set(CMAKE_C_CREATE_SHARED_LIBRARY
set(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>") "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
set(CMAKE_RC_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>") "${RSYM} <TARGET> <TARGET>")
set(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
"${RSYM} <TARGET> <TARGET>")
set(CMAKE_RC_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
"${RSYM} <TARGET> <TARGET>")
SET(CMAKE_C_COMPILE_OBJECT "${CCACHE} <CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>") SET(CMAKE_C_COMPILE_OBJECT "${CCACHE} <CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
SET(CMAKE_CXX_COMPILE_OBJECT "${CCACHE} <CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>") SET(CMAKE_CXX_COMPILE_OBJECT "${CCACHE} <CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")

View file

@ -110,7 +110,7 @@ typedef struct _ROSSYM_CALLBACKS {
BOOLEAN (*MemGetProc)(PVOID FileContext, ULONG_PTR *Target, PVOID SourceMem, ULONG Size); BOOLEAN (*MemGetProc)(PVOID FileContext, ULONG_PTR *Target, PVOID SourceMem, ULONG Size);
} ROSSYM_CALLBACKS, *PROSSYM_CALLBACKS; } ROSSYM_CALLBACKS, *PROSSYM_CALLBACKS;
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
typedef struct _ROSSYM_OWN_FILECONTEXT { typedef struct _ROSSYM_OWN_FILECONTEXT {
BOOLEAN (*ReadFileProc)(PVOID FileContext, PVOID Buffer, ULONG Size); BOOLEAN (*ReadFileProc)(PVOID FileContext, PVOID Buffer, ULONG Size);
BOOLEAN (*SeekFileProc)(PVOID FileContext, ULONG_PTR Position); BOOLEAN (*SeekFileProc)(PVOID FileContext, ULONG_PTR Position);
@ -123,7 +123,7 @@ typedef struct _ROSSYM_INFO *PROSSYM_INFO;
#endif #endif
VOID RosSymInit(PROSSYM_CALLBACKS Callbacks); VOID RosSymInit(PROSSYM_CALLBACKS Callbacks);
#ifndef __ROS_CMAKE__ #ifndef __ROS_DWARF__
VOID RosSymInitKernelMode(VOID); VOID RosSymInitKernelMode(VOID);
#endif #endif
VOID RosSymInitUserMode(VOID); VOID RosSymInitUserMode(VOID);
@ -135,7 +135,7 @@ BOOLEAN RosSymCreateFromMem(PVOID ImageStart, ULONG_PTR ImageSize,
BOOLEAN RosSymCreateFromFile(PVOID FileContext, PROSSYM_INFO *RosSymInfo); BOOLEAN RosSymCreateFromFile(PVOID FileContext, PROSSYM_INFO *RosSymInfo);
ULONG RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo); ULONG RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo);
VOID RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData); VOID RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData);
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
BOOLEAN RosSymGetAddressInformation(PROSSYM_INFO RosSymInfo, BOOLEAN RosSymGetAddressInformation(PROSSYM_INFO RosSymInfo,
ULONG_PTR RelativeAddress, ULONG_PTR RelativeAddress,
PROSSYM_LINEINFO RosSymLineInfo); PROSSYM_LINEINFO RosSymLineInfo);

View file

@ -15,7 +15,7 @@ add_subdirectory(lsalib)
add_subdirectory(ppcmmu) add_subdirectory(ppcmmu)
add_subdirectory(pseh) add_subdirectory(pseh)
add_subdirectory(recyclebin) add_subdirectory(recyclebin)
add_subdirectory(rossym_new) add_subdirectory(rossym)
add_subdirectory(rtl) add_subdirectory(rtl)
add_subdirectory(sdk) add_subdirectory(sdk)
add_subdirectory(smlib) add_subdirectory(smlib)

View file

@ -1,27 +1,19 @@
if(MSVC) if(MSVC)
add_library(rossym dummy.c) add_library(rossym dummy.c)
else() else()
add_definitions(-D_NTSYSTEM_) add_definitions(-D_NTSYSTEM_)
list(APPEND SOURCE list(APPEND SOURCE
delete.c delete.c
dwarf386.c find.c
dwarfabbrev.c fromfile.c
dwarfaranges.c frommem.c
dwarfcfa.c fromraw.c
dwarfinfo.c getraw.c
dwarfget.c init.c
dwarfopen.c initkm.c
dwarfpc.c initum.c
dwarfpubnames.c zwfile.c)
find.c add_library(rossym ${SOURCE})
fromfile.c add_dependencies(rossym psdk bugcodes)
iofile.c
init.c
initkm.c
initum.c
pe.c
zwfile.c)
add_library(rossym ${SOURCE})
add_dependencies(rossym psdk bugcodes)
endif() endif()

View file

@ -389,7 +389,8 @@ if(NOT _WINKD_)
endif() endif()
if(DBG OR KDBG) if(DBG OR KDBG)
list(APPEND SOURCE kdbg/kdb_symbols.cmake.c) #list(APPEND SOURCE kdbg/kdb_symbols.cmake.c)
list(APPEND SOURCE kdbg/kdb_symbols.c)
endif() endif()
list(APPEND SOURCE list(APPEND SOURCE

View file

@ -100,7 +100,7 @@ MiSimpleRead
PLARGE_INTEGER FileOffset, PLARGE_INTEGER FileOffset,
PVOID Buffer, PVOID Buffer,
ULONG Length, ULONG Length,
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
BOOLEAN Paging, BOOLEAN Paging,
#endif #endif
PIO_STATUS_BLOCK ReadStatus) PIO_STATUS_BLOCK ReadStatus)
@ -145,7 +145,7 @@ MiSimpleRead
return STATUS_NO_MEMORY; return STATUS_NO_MEMORY;
} }
#ifndef __ROS_CMAKE__ #ifndef __ROS_DWARF__
Irp->Flags |= IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO | IRP_NOCACHE | IRP_SYNCHRONOUS_API; Irp->Flags |= IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO | IRP_NOCACHE | IRP_SYNCHRONOUS_API;
#else #else
Irp->Flags |= (Paging ? IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO | IRP_NOCACHE : 0) | IRP_SYNCHRONOUS_API; Irp->Flags |= (Paging ? IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO | IRP_NOCACHE : 0) | IRP_SYNCHRONOUS_API;
@ -159,7 +159,7 @@ MiSimpleRead
IrpSp->FileObject = FileObject; IrpSp->FileObject = FileObject;
IrpSp->CompletionRoutine = MiSimpleReadComplete; IrpSp->CompletionRoutine = MiSimpleReadComplete;
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
ObReferenceObject(FileObject); ObReferenceObject(FileObject);
#endif #endif

View file

@ -181,7 +181,7 @@ MiSimpleRead
PLARGE_INTEGER FileOffset, PLARGE_INTEGER FileOffset,
PVOID Buffer, PVOID Buffer,
ULONG Length, ULONG Length,
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
BOOLEAN Paging, BOOLEAN Paging,
#endif #endif
PIO_STATUS_BLOCK ReadStatus); PIO_STATUS_BLOCK ReadStatus);

View file

@ -83,7 +83,7 @@ NTSTATUS
KdbSymGetAddressInformation( KdbSymGetAddressInformation(
IN PROSSYM_INFO RosSymInfo, IN PROSSYM_INFO RosSymInfo,
IN ULONG_PTR RelativeAddress, IN ULONG_PTR RelativeAddress,
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
IN PROSSYM_LINEINFO RosSymLineInfo IN PROSSYM_LINEINFO RosSymLineInfo
#else #else
OUT PULONG LineNumber OPTIONAL, OUT PULONG LineNumber OPTIONAL,

View file

@ -90,7 +90,7 @@ static BOOLEAN KdbpCmdSet(ULONG Argc, PCHAR Argv[]);
static BOOLEAN KdbpCmdHelp(ULONG Argc, PCHAR Argv[]); static BOOLEAN KdbpCmdHelp(ULONG Argc, PCHAR Argv[]);
static BOOLEAN KdbpCmdDmesg(ULONG Argc, PCHAR Argv[]); static BOOLEAN KdbpCmdDmesg(ULONG Argc, PCHAR Argv[]);
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
static BOOLEAN KdbpCmdPrintStruct(ULONG Argc, PCHAR Argv[]); static BOOLEAN KdbpCmdPrintStruct(ULONG Argc, PCHAR Argv[]);
#endif #endif
@ -139,7 +139,7 @@ static const struct
{ "sregs", "sregs", "Display status registers.", KdbpCmdRegs }, { "sregs", "sregs", "Display status registers.", KdbpCmdRegs },
{ "dregs", "dregs", "Display debug registers.", KdbpCmdRegs }, { "dregs", "dregs", "Display debug registers.", KdbpCmdRegs },
{ "bt", "bt [*frameaddr|thread id]", "Prints current backtrace or from given frame addr", KdbpCmdBackTrace }, { "bt", "bt [*frameaddr|thread id]", "Prints current backtrace or from given frame addr", KdbpCmdBackTrace },
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
{ "dt", "dt [mod] [type] [addr]", "Print a struct. Addr is optional.", KdbpCmdPrintStruct }, { "dt", "dt [mod] [type] [addr]", "Print a struct. Addr is optional.", KdbpCmdPrintStruct },
#endif #endif
@ -460,7 +460,7 @@ KdbpCmdEvalExpression(
return TRUE; return TRUE;
} }
#ifdef __ROS_CMAKE__ #ifdef __ROS_DWARF__
/*!\brief Print a struct /*!\brief Print a struct
*/ */

View file

@ -15,6 +15,7 @@ add_subdirectory(spec2def)
add_subdirectory(unicode) add_subdirectory(unicode)
if(NOT MSVC) if(NOT MSVC)
add_subdirectory(rsym)
add_subdirectory(widl) add_subdirectory(widl)
add_subdirectory(wpp) add_subdirectory(wpp)
add_subdirectory(wrc) add_subdirectory(wrc)

View file

@ -1,3 +1,7 @@
add_executable(rsym rsym_common.c rsym.cmake.c) if(ARCH MATCHES i386)
add_executable(rsym rsym_common.c rsym.c)
elseif(ARCH MATCHES amd64)
add_executable(rsym rsym_common.c rsym64.c)
endif()
add_executable(raddr2line rsym_common.c raddr2line.c) add_executable(raddr2line rsym_common.c raddr2line.c)