mirror of
https://github.com/reactos/reactos.git
synced 2026-09-12 12:50:19 +08:00
* rules.mak (RSYM): Define. * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum _DEBUG_CONTROL_CODE. * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add. (LdrLoadModuleSymbols): Remove. * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION, ST_LINENUMBER): Add. (SYMBOL). Make Name an ANSI_STRING. (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add. * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols(). * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to LdrpLoadUserModuleSymbols. (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code. (LdrLoadDll): assert if out of memory. (LdrLoadDll): Call LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols(). * lib/ntdll/string/ctype.c (_pctype): #undef. * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call LdrLoadUserModuleSymbols on DebugDbgLoadSymbols. * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add. * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo an IMAGE_SYMBOL_INFO. * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype. (print_address): Change #ifdef KDBG to #ifdef DBG. (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump one stack frame per line. * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel address space so larger modules can be passed from the boot loader. * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype. (print_user_address): Print symbols using LdrGetAddressInformation(). * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE, STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add. (TAG_SYM_BUF): Remove. (LdrInitDebug): Remove unneeded code. (LdrInit1): Prepare for loading symbols. (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer, LdrpLoadUserModuleSymbolsFromBuffer): Remove. (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName, LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add. (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new symbol structures. (LdrLoadUserModuleSymbols): Cache symbol buffers. (LdrUnloadModuleSymbols): Implement. (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG. (LdrPEProcessModule): Split a line into two lines. (LdrPEProcessModule): Setup for loading symbols. * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ. * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to free symbols. (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG. * ntoskrnl/rtl/ctype.c (_pctype): #undef. * ntoskrnl/rtl/string.c (strncpy): Terminate destination string. * tools/Makefile (rsym): Add target. * tools/helper.mk: Include config and use -g if DBG = 1. svn path=/trunk/; revision=3212
117 lines
2.4 KiB
Makefile
117 lines
2.4 KiB
Makefile
#
|
|
# Important
|
|
#
|
|
.EXPORT_ALL_VARIABLES:
|
|
|
|
# Windows is default host environment
|
|
ifeq ($(HOST),)
|
|
HOST = mingw32-windows
|
|
endif
|
|
|
|
# uncomment if you use bochs and it displays only 30 rows
|
|
# BOCHS_30ROWS = yes
|
|
|
|
ifeq ($(HOST),mingw32-linux)
|
|
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
|
|
endif
|
|
|
|
#
|
|
# Choose various options
|
|
#
|
|
ifeq ($(HOST),mingw32-linux)
|
|
NASM_FORMAT = win32
|
|
PREFIX = mingw32-
|
|
EXE_POSTFIX :=
|
|
EXE_PREFIX := ./
|
|
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
|
|
NASM_CMD = nasm
|
|
DOSCLI =
|
|
FLOPPY_DIR = /mnt/floppy
|
|
SEP := /
|
|
PIPE :=
|
|
endif
|
|
|
|
ifeq ($(HOST),mingw32-windows)
|
|
NASM_FORMAT = win32
|
|
PREFIX =
|
|
EXE_PREFIX :=
|
|
EXE_POSTFIX := .exe
|
|
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
|
|
NASM_CMD = nasmw
|
|
DOSCLI = yes
|
|
FLOPPY_DIR = A:
|
|
SEP := \$(EMPTY_VAR)
|
|
PIPE := -pipe
|
|
endif
|
|
|
|
|
|
# Set INSTALL_DIR to default value if not already set
|
|
# ifeq ($(INSTALL_DIR),)
|
|
INSTALL_DIR = $(PATH_TO_TOP)/reactos
|
|
# endif
|
|
|
|
# Set DIST_DIR to default value if not already set
|
|
# ifeq ($(DIST_DIR),)
|
|
DIST_DIR = $(PATH_TO_TOP)/dist
|
|
# endif
|
|
|
|
|
|
CC = $(PREFIX)gcc
|
|
CXX = $(PREFIX)g++
|
|
HOST_CC = gcc
|
|
HOST_NM = nm
|
|
LD = $(PREFIX)ld
|
|
NM = $(PREFIX)nm
|
|
OBJCOPY = $(PREFIX)objcopy
|
|
STRIP = $(PREFIX)strip
|
|
AS = $(PREFIX)gcc -c -x assembler-with-cpp
|
|
CPP = $(PREFIX)cpp
|
|
AR = $(PREFIX)ar
|
|
RC = $(PREFIX)windres
|
|
WRC = $(WINE_TOP)/tools/wrc/wrc
|
|
RCINC = --include-dir $(PATH_TO_TOP)/include
|
|
OBJCOPY = $(PREFIX)objcopy
|
|
TOOLS_PATH = $(PATH_TO_TOP)/tools
|
|
CP = $(TOOLS_PATH)/rcopy
|
|
RM = $(TOOLS_PATH)/rdel
|
|
RMDIR = $(TOOLS_PATH)/rrmdir
|
|
RMKDIR = $(TOOLS_PATH)/rmkdir
|
|
RSYM = $(TOOLS_PATH)/rsym
|
|
MC = $(TOOLS_PATH)/wmc/wmc
|
|
|
|
|
|
# Maybe we can delete these soon
|
|
|
|
ifeq ($(HOST),mingw32-linux)
|
|
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
|
|
endif
|
|
|
|
ifeq ($(HOST),mingw32-windows)
|
|
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
|
|
endif
|
|
|
|
CXXFLAGS = $(CFLAGS)
|
|
NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
|
|
ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
|
|
|
|
|
|
# Developer Kits
|
|
DK_PATH=$(PATH_TO_TOP)/dk
|
|
# Native and kernel mode
|
|
DDK_PATH=$(DK_PATH)/nkm
|
|
DDK_PATH_LIB=$(DDK_PATH)/lib
|
|
DDK_PATH_INC=$(PATH_TO_TOP)/include
|
|
# Win32
|
|
SDK_PATH=$(DK_PATH)/w32
|
|
SDK_PATH_LIB=$(SDK_PATH)/lib
|
|
SDK_PATH_INC=$(PATH_TO_TOP)/include
|
|
# POSIX+
|
|
XDK_PATH=$(DK_PATH)/psx
|
|
XDK_PATH_LIB=$(XDK_PATH)/lib
|
|
XDK_PATH_INC=$(XDK_PATH)/include
|
|
|
|
# Wine Integration
|
|
WINE_PATH=$(PATH_TO_TOP)/../wine
|
|
WINE_PATH_LIB=$(WINE_PATH)/lib
|
|
WINE_PATH_INC=$(WINE_PATH)/include
|