diff --git a/ChangeLog b/ChangeLog index 7dec45ca..2ee1d569 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-04-30 Owen Taylor + + * module/sysprof-module.c: Reorder the tests for + CONFIG_X86 and CONFIG_X86_64 since post 2.6.26, they are + both defined on x86-64 machines. + 2008-05-07 Soren Sandmann Pedersen * binfile.c (get_build_id_file): Fix bug where the build id name diff --git a/module/sysprof-module.c b/module/sysprof-module.c index 8052f377..81c6b102 100644 --- a/module/sysprof-module.c +++ b/module/sysprof-module.c @@ -61,12 +61,7 @@ static atomic_t client_count = ATOMIC_INIT(0); DECLARE_WAIT_QUEUE_HEAD (wait_for_trace); /* Macro the names of the registers that are used on each architecture */ -#if defined(CONFIG_X86_64) -# define REG_FRAME_PTR rbp -# define REG_INS_PTR rip -# define REG_STACK_PTR rsp -# define REG_STACK_PTR0 rsp0 -#elif defined(CONFIG_X86) +#if defined(CONFIG_X86) # if LINUX_VERSION_CODE >= KERNEL_VERSION (2,6,25) # define REG_FRAME_PTR bp # define REG_INS_PTR ip @@ -78,6 +73,11 @@ DECLARE_WAIT_QUEUE_HEAD (wait_for_trace); # define REG_STACK_PTR esp # define REG_STACK_PTR0 esp0 # endif +#elif defined(CONFIG_X86_64) /* pre-2.6.25 separate architecture */ +# define REG_FRAME_PTR rbp +# define REG_INS_PTR rip +# define REG_STACK_PTR rsp +# define REG_STACK_PTR0 rsp0 #else # error Sysprof only supports the i386 and x86-64 architectures #endif