* 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)
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()
export(TARGETS gendib cabman cdmake mkhive obj2bin spec2def geninc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
endif()

View file

@ -8,7 +8,8 @@ endif()
add_compile_flags("-pipe -fms-extensions")
# 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
add_compile_flags("-Werror")
@ -87,17 +88,29 @@ endif()
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_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_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>")
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>")
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>"
"${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_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);
} ROSSYM_CALLBACKS, *PROSSYM_CALLBACKS;
#ifdef __ROS_CMAKE__
#ifdef __ROS_DWARF__
typedef struct _ROSSYM_OWN_FILECONTEXT {
BOOLEAN (*ReadFileProc)(PVOID FileContext, PVOID Buffer, ULONG Size);
BOOLEAN (*SeekFileProc)(PVOID FileContext, ULONG_PTR Position);
@ -123,7 +123,7 @@ typedef struct _ROSSYM_INFO *PROSSYM_INFO;
#endif
VOID RosSymInit(PROSSYM_CALLBACKS Callbacks);
#ifndef __ROS_CMAKE__
#ifndef __ROS_DWARF__
VOID RosSymInitKernelMode(VOID);
#endif
VOID RosSymInitUserMode(VOID);
@ -135,7 +135,7 @@ BOOLEAN RosSymCreateFromMem(PVOID ImageStart, ULONG_PTR ImageSize,
BOOLEAN RosSymCreateFromFile(PVOID FileContext, PROSSYM_INFO *RosSymInfo);
ULONG RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo);
VOID RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData);
#ifdef __ROS_CMAKE__
#ifdef __ROS_DWARF__
BOOLEAN RosSymGetAddressInformation(PROSSYM_INFO RosSymInfo,
ULONG_PTR RelativeAddress,
PROSSYM_LINEINFO RosSymLineInfo);

View file

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

View file

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

View file

@ -389,7 +389,8 @@ if(NOT _WINKD_)
endif()
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()
list(APPEND SOURCE

View file

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

View file

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

View file

@ -83,7 +83,7 @@ NTSTATUS
KdbSymGetAddressInformation(
IN PROSSYM_INFO RosSymInfo,
IN ULONG_PTR RelativeAddress,
#ifdef __ROS_CMAKE__
#ifdef __ROS_DWARF__
IN PROSSYM_LINEINFO RosSymLineInfo
#else
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 KdbpCmdDmesg(ULONG Argc, PCHAR Argv[]);
#ifdef __ROS_CMAKE__
#ifdef __ROS_DWARF__
static BOOLEAN KdbpCmdPrintStruct(ULONG Argc, PCHAR Argv[]);
#endif
@ -139,7 +139,7 @@ static const struct
{ "sregs", "sregs", "Display status registers.", KdbpCmdRegs },
{ "dregs", "dregs", "Display debug registers.", KdbpCmdRegs },
{ "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 },
#endif
@ -460,7 +460,7 @@ KdbpCmdEvalExpression(
return TRUE;
}
#ifdef __ROS_CMAKE__
#ifdef __ROS_DWARF__
/*!\brief Print a struct
*/

View file

@ -15,6 +15,7 @@ add_subdirectory(spec2def)
add_subdirectory(unicode)
if(NOT MSVC)
add_subdirectory(rsym)
add_subdirectory(widl)
add_subdirectory(wpp)
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)