From: John K. <jk...@ca...> - 2005-10-31 19:19:07
Attachments:
Makefile.patch.2
|
The following section in the Makefile doesn't make sense. (The CONFIG_X86 and CONFIG_X86_64 don't do anything, and it compiles i386/pi_itrace.o when ITRACE is NOT defined instead of when it is defined. ifneq (${ITRACE},) ifeq ($(CONFIG_X86),y) ifeq ($(CONFIG_X86_64),y) else pitrace-objs += i386/pi_itrace.o DUMMY := $(shell ${GH_PROG} ${HF} 'pi_restore_address' '[^dD][\. ]{1}restore_all$$') DUMMY := $(shell ${GH_PROG} ${HF} 'pi_syscall_address' '[^dD][\. ]{1}syscall_call$$') DUMMY := $(shell ${GH_PROG} ${HF} 'pi_sysenter_address' '[^dD][\. ]{1}sysenter_entry$$') endif endif endif Did you mean to do the following? (noting that if CONFIG_X86_64=y then so does CONFIG_X86) # This will cover ITRACE ifeq ($(CONFIG_X86),y) ifneq (${ITRACE},) pitrace-objs += i386/pi_itrace.o DUMMY := $(shell ${GH_PROG} ${HF} 'pi_restore_address' '[^dD][\. ]{1}restore_all$$') DUMMY := $(shell ${GH_PROG} ${HF} 'pi_syscall_address' '[^dD][\. ]{1}syscall_call$$') DUMMY := $(shell ${GH_PROG} ${HF} 'pi_sysenter_address' '[^dD][\. ]{1}sysenter_entry$$') endif endif So the above would compile pi_itrace.o and search for the symbols defined as pi_restore_address and so on if ITRACE isn't equal to nothing. In other words, to compile itrace code. make ITRACE=1 Note, this is how it works on PPC64 If this is what you intended the following patch will accomplish it. (it moves the logic up into the current CONFIG_X86 section. If there are no objections I can apply it the cvs beta_04 tree myself, or you can do it. Thanks --- |
From: John K. <jk...@ca...> - 2005-10-31 19:29:08
|
On Mon, 2005-10-31 at 14:17 -0500, John Kacur wrote: > The following section in the Makefile doesn't make sense. (The > CONFIG_X86 and CONFIG_X86_64 don't do anything, and it compiles > i386/pi_itrace.o when ITRACE is NOT defined instead of when it is > defined. > > ifneq (${ITRACE},) > ifeq ($(CONFIG_X86),y) > ifeq ($(CONFIG_X86_64),y) > else > pitrace-objs += i386/pi_itrace.o > DUMMY := $(shell ${GH_PROG} ${HF} 'pi_restore_address' > '[^dD][\. ]{1}restore_all$$') > DUMMY := $(shell ${GH_PROG} ${HF} 'pi_syscall_address' > '[^dD][\. ]{1}syscall_call$$') > DUMMY := $(shell ${GH_PROG} ${HF} 'pi_sysenter_address' > '[^dD][\. ]{1}sysenter_entry$$') > endif > endif > endif > > > Did you mean to do the following? > (noting that if CONFIG_X86_64=y then so does CONFIG_X86) > > # This will cover ITRACE > ifeq ($(CONFIG_X86),y) > ifneq (${ITRACE},) > pitrace-objs += i386/pi_itrace.o > DUMMY := $(shell ${GH_PROG} ${HF} 'pi_restore_address' > '[^dD][\. ]{1}restore_all$$') > DUMMY := $(shell ${GH_PROG} ${HF} 'pi_syscall_address' > '[^dD][\. ]{1}syscall_call$$') > DUMMY := $(shell ${GH_PROG} ${HF} 'pi_sysenter_address' > '[^dD][\. ]{1}sysenter_entry$$') > endif > endif > > So the above would compile pi_itrace.o and search for the symbols > defined as pi_restore_address and so on if ITRACE isn't equal to > nothing. > > In other words, to compile itrace code. > make ITRACE=1 > > Note, this is how it works on PPC64 > > If this is what you intended the following patch will accomplish it. (it > moves the logic up into the current CONFIG_X86 section. > > If there are no objections I can apply it the cvs beta_04 tree myself, > or you can do it. Thanks Note: Another reason the patch is important, is it defines the symbol CONFIG_PI_ITRACE when you type ITRACE=1 before it was building itrace code on x86 and x86_64 without defining the symbol - at least here, it may have been turned on somewhere in the code that I didn't see. |