* 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

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

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)