* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
@ 2009-02-26 13:52 Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-02-26 13:52 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Andi Kleen, Huang Ying
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.29-rc6/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.29-rc6.orig/kernel/gcov/Kconfig
+++ linux-2.6.29-rc6/kernel/gcov/Kconfig
@@ -34,7 +34,7 @@ config GCOV_KERNEL
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.29-rc6/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.29-rc6.orig/arch/x86/kernel/acpi/realmode/Makefile
+++ linux-2.6.29-rc6/arch/x86/kernel/acpi/realmode/Makefile
@@ -42,6 +42,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.29-rc6/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.29-rc6.orig/arch/x86/boot/Makefile
+++ linux-2.6.29-rc6/arch/x86/boot/Makefile
@@ -71,6 +71,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option,-m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/zImage: asflags-y := $(SVGA_MODE) $(RAMDISK)
$(obj)/bzImage: ccflags-y := -D__BIG_KERNEL__
Index: linux-2.6.29-rc6/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.29-rc6.orig/arch/x86/boot/compressed/Makefile
+++ linux-2.6.29-rc6/arch/x86/boot/compressed/Makefile
@@ -14,6 +14,7 @@ KBUILD_CFLAGS += $(call cc-option,-ffree
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.29-rc6/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.29-rc6.orig/arch/x86/vdso/Makefile
+++ linux-2.6.29-rc6/arch/x86/vdso/Makefile
@@ -123,6 +123,7 @@ quiet_cmd_vdso = VDSO $@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.29-rc6/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.29-rc6.orig/arch/x86/kernel/Makefile
+++ linux-2.6.29-rc6/arch/x86/kernel/Makefile
@@ -23,6 +23,8 @@ nostackp := $(call cc-option, -fno-stack
CFLAGS_vsyscall_64.o := $(PROFILING) -g0 $(nostackp)
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/4] gcov kernel support
@ 2009-06-02 11:43 Peter Oberparleiter
2009-06-02 11:44 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
0 siblings, 1 reply; 7+ messages in thread
From: Peter Oberparleiter @ 2009-06-02 11:43 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
This patchset implements support for performing kernel code coverage
measurements based on gcc's gcov mechanism. It can be used to improve
kernel code quality by identifying code parts which are not exercised
during test cases. Patch base is 2.6.30-rc7.
Changes since last version:
* removed __gcov_execve (assuming no kernel function will be called
execve)
Patch overview:
[PATCH 1/4] kernel: constructor support
[PATCH 2/4] seq_file: add function to write binary data
[PATCH 3/4] gcov: add gcov profiling infrastructure
[PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
For more information see Documentation/gcov.txt and the previous post:
http://marc.info/?l=linux-kernel&m=123565658224661
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
2009-06-02 11:43 [PATCH 0/4] gcov kernel support Peter Oberparleiter
@ 2009-06-02 11:44 ` Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-06-02 11:44 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
[-- Attachment #1: gcov-profile-all-x86_64.patch --]
[-- Type: text/plain, Size: 3994 bytes --]
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.30-rc7/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.30-rc7.orig/kernel/gcov/Kconfig 2009-06-02 10:35:26.000000000 +0200
+++ linux-2.6.30-rc7/kernel/gcov/Kconfig 2009-06-02 10:35:31.000000000 +0200
@@ -34,7 +34,7 @@
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.30-rc7/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.30-rc7.orig/arch/x86/kernel/acpi/realmode/Makefile 2009-03-24 00:12:14.000000000 +0100
+++ linux-2.6.30-rc7/arch/x86/kernel/acpi/realmode/Makefile 2009-06-02 10:35:31.000000000 +0200
@@ -42,6 +42,7 @@
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.30-rc7/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.30-rc7.orig/arch/x86/boot/Makefile 2009-06-02 10:33:04.000000000 +0200
+++ linux-2.6.30-rc7/arch/x86/boot/Makefile 2009-06-02 10:35:31.000000000 +0200
@@ -69,6 +69,7 @@
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/bzImage: asflags-y := $(SVGA_MODE)
Index: linux-2.6.30-rc7/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.30-rc7.orig/arch/x86/boot/compressed/Makefile 2009-06-02 10:33:04.000000000 +0200
+++ linux-2.6.30-rc7/arch/x86/boot/compressed/Makefile 2009-06-02 10:35:31.000000000 +0200
@@ -15,6 +15,7 @@
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.30-rc7/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.30-rc7.orig/arch/x86/vdso/Makefile 2009-06-02 10:33:11.000000000 +0200
+++ linux-2.6.30-rc7/arch/x86/vdso/Makefile 2009-06-02 10:35:31.000000000 +0200
@@ -123,6 +123,7 @@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.30-rc7/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.30-rc7.orig/arch/x86/kernel/Makefile 2009-06-02 10:33:07.000000000 +0200
+++ linux-2.6.30-rc7/arch/x86/kernel/Makefile 2009-06-02 10:35:31.000000000 +0200
@@ -24,6 +24,8 @@
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
CFLAGS_paravirt.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/4] gcov kernel support
@ 2009-05-19 14:24 Peter Oberparleiter
2009-05-19 14:24 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
0 siblings, 1 reply; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-19 14:24 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
This patchset implements support for performing kernel code coverage
measurements based on gcc's gcov mechanism. It can be used to improve
kernel code quality by identifying code parts which are not exercised
during test cases. Patch base is 2.6.30-rc6.
Patch feedback has been integrated. There were no further comments
since the last version. In my opinion this patchset is ready for
inclusion into the -mm tree.
Patch overview:
[PATCH 1/4] kernel: constructor support
[PATCH 2/4] seq_file: add function to write binary data
[PATCH 3/4] gcov: add gcov profiling infrastructure
[PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
For more information see Documentation/gcov.txt and the previous post:
http://marc.info/?l=linux-kernel&m=123565658224661
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
2009-05-19 14:24 [PATCH 0/4] gcov kernel support Peter Oberparleiter
@ 2009-05-19 14:24 ` Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-19 14:24 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
[-- Attachment #1: gcov-profile-all-x86_64.patch --]
[-- Type: text/plain, Size: 3994 bytes --]
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.30-rc6/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.30-rc6.orig/kernel/gcov/Kconfig 2009-05-19 12:41:26.000000000 +0200
+++ linux-2.6.30-rc6/kernel/gcov/Kconfig 2009-05-19 12:41:27.000000000 +0200
@@ -34,7 +34,7 @@
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.30-rc6/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.30-rc6.orig/arch/x86/kernel/acpi/realmode/Makefile 2009-05-19 12:27:33.000000000 +0200
+++ linux-2.6.30-rc6/arch/x86/kernel/acpi/realmode/Makefile 2009-05-19 12:41:27.000000000 +0200
@@ -42,6 +42,7 @@
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.30-rc6/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.30-rc6.orig/arch/x86/boot/Makefile 2009-05-19 12:27:33.000000000 +0200
+++ linux-2.6.30-rc6/arch/x86/boot/Makefile 2009-05-19 12:41:27.000000000 +0200
@@ -69,6 +69,7 @@
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/bzImage: asflags-y := $(SVGA_MODE)
Index: linux-2.6.30-rc6/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.30-rc6.orig/arch/x86/boot/compressed/Makefile 2009-05-19 12:27:33.000000000 +0200
+++ linux-2.6.30-rc6/arch/x86/boot/compressed/Makefile 2009-05-19 12:41:27.000000000 +0200
@@ -15,6 +15,7 @@
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.30-rc6/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.30-rc6.orig/arch/x86/vdso/Makefile 2009-05-19 12:27:33.000000000 +0200
+++ linux-2.6.30-rc6/arch/x86/vdso/Makefile 2009-05-19 12:41:27.000000000 +0200
@@ -123,6 +123,7 @@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.30-rc6/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.30-rc6.orig/arch/x86/kernel/Makefile 2009-05-19 12:27:33.000000000 +0200
+++ linux-2.6.30-rc6/arch/x86/kernel/Makefile 2009-05-19 12:41:27.000000000 +0200
@@ -24,6 +24,8 @@
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
CFLAGS_paravirt.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/4] gcov kernel support
@ 2009-05-12 15:38 Peter Oberparleiter
2009-05-12 15:38 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
0 siblings, 1 reply; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-12 15:38 UTC (permalink / raw)
To: linux-kernel
Cc: Andrew Morton, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
This patchset implements support for performing kernel code coverage
measurements based on gcc's gcov mechanism. It can be used to improve
kernel code quality by identifying code parts which are not exercised
during test cases. Patch base is 2.6.30-rc5.
Changes since last version:
* updated to 2.6.30-rc5
* moved __ctors_start and __ctors_end declaration to
include/asm-generic/sections.h
Patch overview:
[PATCH 1/4] kernel: constructor support
[PATCH 2/4] seq_file: add function to write binary data
[PATCH 3/4] gcov: add gcov profiling infrastructure
[PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
For more information see Documentation/gcov.txt and the previous post:
http://marc.info/?l=linux-kernel&m=123565658224661
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
2009-05-12 15:38 [PATCH 0/4] gcov kernel support Peter Oberparleiter
@ 2009-05-12 15:38 ` Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-12 15:38 UTC (permalink / raw)
To: linux-kernel
Cc: Andrew Morton, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
[-- Attachment #1: gcov-profile-all-x86_64.patch --]
[-- Type: text/plain, Size: 3773 bytes --]
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.30-rc5/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.30-rc5.orig/kernel/gcov/Kconfig
+++ linux-2.6.30-rc5/kernel/gcov/Kconfig
@@ -34,7 +34,7 @@ config GCOV_KERNEL
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.30-rc5/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.30-rc5.orig/arch/x86/kernel/acpi/realmode/Makefile
+++ linux-2.6.30-rc5/arch/x86/kernel/acpi/realmode/Makefile
@@ -42,6 +42,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.30-rc5/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.30-rc5.orig/arch/x86/boot/Makefile
+++ linux-2.6.30-rc5/arch/x86/boot/Makefile
@@ -69,6 +69,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/bzImage: asflags-y := $(SVGA_MODE)
Index: linux-2.6.30-rc5/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.30-rc5.orig/arch/x86/boot/compressed/Makefile
+++ linux-2.6.30-rc5/arch/x86/boot/compressed/Makefile
@@ -15,6 +15,7 @@ KBUILD_CFLAGS += $(call cc-option,-ffree
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.30-rc5/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.30-rc5.orig/arch/x86/vdso/Makefile
+++ linux-2.6.30-rc5/arch/x86/vdso/Makefile
@@ -123,6 +123,7 @@ quiet_cmd_vdso = VDSO $@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.30-rc5/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.30-rc5.orig/arch/x86/kernel/Makefile
+++ linux-2.6.30-rc5/arch/x86/kernel/Makefile
@@ -24,6 +24,8 @@ CFLAGS_vsyscall_64.o := $(PROFILING) -g0
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
CFLAGS_paravirt.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/4] gcov kernel support
@ 2009-05-08 15:44 Peter Oberparleiter
2009-05-08 15:44 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
0 siblings, 1 reply; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-08 15:44 UTC (permalink / raw)
To: linux-kernel
Cc: Andrew Morton, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
This patchset implements support for performing kernel code coverage
measurements based on gcc's gcov mechanism. It can be used to improve
kernel code quality by identifying code parts which are not exercised
during test cases. Patch base is 2.6.30-rc4.
Changes since last version:
* moved compiler version assertion to include/linux/compiler-gcc3.h
* moved all module-specific code under CONFIG_MODULES
* added symbolic names for gcda file record numbers
* split seq_write_gcov_int() into two functions
* coding style changes:
* fixed multi-line comments
* added braces for multi-line blocks
* improved rc and error label usage
* made local variable initialization consistent
* added initialization indentation
* improved readability by using local variables
Patch overview:
[PATCH 1/4] kernel: constructor support
[PATCH 2/4] seq_file: add function to write binary data
[PATCH 3/4] gcov: add gcov profiling infrastructure
[PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
For more information see Documentation/gcov.txt and the previous post:
http://marc.info/?l=linux-kernel&m=123565658224661
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
2009-05-08 15:44 [PATCH 0/4] gcov kernel support Peter Oberparleiter
@ 2009-05-08 15:44 ` Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-08 15:44 UTC (permalink / raw)
To: linux-kernel
Cc: Andrew Morton, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman,
Ingo Molnar, Heiko Carstens, Martin Schwidefsky
[-- Attachment #1: gcov-profile-all-x86_64.patch --]
[-- Type: text/plain, Size: 3773 bytes --]
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.30-rc4/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.30-rc4.orig/kernel/gcov/Kconfig
+++ linux-2.6.30-rc4/kernel/gcov/Kconfig
@@ -34,7 +34,7 @@ config GCOV_KERNEL
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.30-rc4/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/kernel/acpi/realmode/Makefile
+++ linux-2.6.30-rc4/arch/x86/kernel/acpi/realmode/Makefile
@@ -42,6 +42,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.30-rc4/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/boot/Makefile
+++ linux-2.6.30-rc4/arch/x86/boot/Makefile
@@ -69,6 +69,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/bzImage: asflags-y := $(SVGA_MODE)
Index: linux-2.6.30-rc4/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/boot/compressed/Makefile
+++ linux-2.6.30-rc4/arch/x86/boot/compressed/Makefile
@@ -15,6 +15,7 @@ KBUILD_CFLAGS += $(call cc-option,-ffree
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.30-rc4/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/vdso/Makefile
+++ linux-2.6.30-rc4/arch/x86/vdso/Makefile
@@ -123,6 +123,7 @@ quiet_cmd_vdso = VDSO $@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.30-rc4/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/kernel/Makefile
+++ linux-2.6.30-rc4/arch/x86/kernel/Makefile
@@ -24,6 +24,8 @@ CFLAGS_vsyscall_64.o := $(PROFILING) -g0
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
CFLAGS_paravirt.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/4] gcov kernel support
@ 2009-05-07 12:45 Peter Oberparleiter
2009-05-07 12:46 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
0 siblings, 1 reply; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-07 12:45 UTC (permalink / raw)
To: linux-kernel
Cc: Andrew Morton, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman
This patchset implements support for performing kernel code coverage
measurements based on gcc's gcov mechanism. It can be used to improve
kernel code quality by identifying code parts which are not exercised
during test cases. Patch base is 2.6.30-rc4.
Changes since last version:
* fix return code of gcov_seq_show
Patch overview:
[PATCH 1/4] kernel: constructor support
[PATCH 2/4] seq_file: add function to write binary data
[PATCH 3/4] gcov: add gcov profiling infrastructure
[PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
For more information see Documentation/gcov.txt and the previous post:
http://marc.info/?l=linux-kernel&m=123565658224661
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
2009-05-07 12:45 [PATCH 0/4] gcov kernel support Peter Oberparleiter
@ 2009-05-07 12:46 ` Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-05-07 12:46 UTC (permalink / raw)
To: linux-kernel
Cc: Andrew Morton, Andi Kleen, Huang Ying, Li Wei, Michael Ellerman
[-- Attachment #1: gcov-profile-all-x86_64.patch --]
[-- Type: text/plain, Size: 3773 bytes --]
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.30-rc4/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.30-rc4.orig/kernel/gcov/Kconfig
+++ linux-2.6.30-rc4/kernel/gcov/Kconfig
@@ -34,7 +34,7 @@ config GCOV_KERNEL
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.30-rc4/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/kernel/acpi/realmode/Makefile
+++ linux-2.6.30-rc4/arch/x86/kernel/acpi/realmode/Makefile
@@ -42,6 +42,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.30-rc4/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/boot/Makefile
+++ linux-2.6.30-rc4/arch/x86/boot/Makefile
@@ -69,6 +69,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/bzImage: asflags-y := $(SVGA_MODE)
Index: linux-2.6.30-rc4/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/boot/compressed/Makefile
+++ linux-2.6.30-rc4/arch/x86/boot/compressed/Makefile
@@ -15,6 +15,7 @@ KBUILD_CFLAGS += $(call cc-option,-ffree
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.30-rc4/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/vdso/Makefile
+++ linux-2.6.30-rc4/arch/x86/vdso/Makefile
@@ -123,6 +123,7 @@ quiet_cmd_vdso = VDSO $@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.30-rc4/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.30-rc4.orig/arch/x86/kernel/Makefile
+++ linux-2.6.30-rc4/arch/x86/kernel/Makefile
@@ -24,6 +24,8 @@ CFLAGS_vsyscall_64.o := $(PROFILING) -g0
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
CFLAGS_paravirt.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64
@ 2009-02-03 12:47 Peter Oberparleiter
0 siblings, 0 replies; 7+ messages in thread
From: Peter Oberparleiter @ 2009-02-03 12:47 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Andi Kleen, Huang Ying
From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Enable gcov profiling of the entire kernel on x86_64. Required changes
include disabling profiling for:
* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:
not linked to main kernel
* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:
profiling causes segfaults during boot (incompatible context)
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/kernel/Makefile | 2 ++
arch/x86/kernel/acpi/realmode/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
kernel/gcov/Kconfig | 2 +-
6 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.29-rc3/kernel/gcov/Kconfig
===================================================================
--- linux-2.6.29-rc3.orig/kernel/gcov/Kconfig
+++ linux-2.6.29-rc3/kernel/gcov/Kconfig
@@ -34,7 +34,7 @@ config GCOV_KERNEL
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
depends on GCOV_KERNEL
- depends on S390 || X86_32
+ depends on S390 || X86
default n
---help---
This options activates profiling for the entire kernel.
Index: linux-2.6.29-rc3/arch/x86/kernel/acpi/realmode/Makefile
===================================================================
--- linux-2.6.29-rc3.orig/arch/x86/kernel/acpi/realmode/Makefile
+++ linux-2.6.29-rc3/arch/x86/kernel/acpi/realmode/Makefile
@@ -42,6 +42,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option, -m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
WAKEUP_OBJS = $(addprefix $(obj)/,$(wakeup-y))
Index: linux-2.6.29-rc3/arch/x86/boot/Makefile
===================================================================
--- linux-2.6.29-rc3.orig/arch/x86/boot/Makefile
+++ linux-2.6.29-rc3/arch/x86/boot/Makefile
@@ -71,6 +71,7 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
$(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS += $(call cc-option,-m32)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
$(obj)/zImage: asflags-y := $(SVGA_MODE) $(RAMDISK)
$(obj)/bzImage: ccflags-y := -D__BIG_KERNEL__
Index: linux-2.6.29-rc3/arch/x86/boot/compressed/Makefile
===================================================================
--- linux-2.6.29-rc3.orig/arch/x86/boot/compressed/Makefile
+++ linux-2.6.29-rc3/arch/x86/boot/compressed/Makefile
@@ -14,6 +14,7 @@ KBUILD_CFLAGS += $(call cc-option,-ffree
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
+GCOV_PROFILE := n
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
Index: linux-2.6.29-rc3/arch/x86/vdso/Makefile
===================================================================
--- linux-2.6.29-rc3.orig/arch/x86/vdso/Makefile
+++ linux-2.6.29-rc3/arch/x86/vdso/Makefile
@@ -123,6 +123,7 @@ quiet_cmd_vdso = VDSO $@
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
VDSO_LDFLAGS = -fPIC -shared $(call ld-option, -Wl$(comma)--hash-style=sysv)
+GCOV_PROFILE := n
#
# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
Index: linux-2.6.29-rc3/arch/x86/kernel/Makefile
===================================================================
--- linux-2.6.29-rc3.orig/arch/x86/kernel/Makefile
+++ linux-2.6.29-rc3/arch/x86/kernel/Makefile
@@ -23,6 +23,8 @@ nostackp := $(call cc-option, -fno-stack
CFLAGS_vsyscall_64.o := $(PROFILING) -g0 $(nostackp)
CFLAGS_hpet.o := $(nostackp)
CFLAGS_tsc.o := $(nostackp)
+GCOV_PROFILE_vsyscall_64.o := n
+GCOV_PROFILE_hpet.o := n
obj-y := process_$(BITS).o signal.o entry_$(BITS).o
obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-06-02 11:45 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-26 13:52 [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
-- strict thread matches above, loose matches on Subject: below --
2009-06-02 11:43 [PATCH 0/4] gcov kernel support Peter Oberparleiter
2009-06-02 11:44 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
2009-05-19 14:24 [PATCH 0/4] gcov kernel support Peter Oberparleiter
2009-05-19 14:24 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
2009-05-12 15:38 [PATCH 0/4] gcov kernel support Peter Oberparleiter
2009-05-12 15:38 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
2009-05-08 15:44 [PATCH 0/4] gcov kernel support Peter Oberparleiter
2009-05-08 15:44 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
2009-05-07 12:45 [PATCH 0/4] gcov kernel support Peter Oberparleiter
2009-05-07 12:46 ` [PATCH 4/4] gcov: enable GCOV_PROFILE_ALL for x86_64 Peter Oberparleiter
2009-02-03 12:47 Peter Oberparleiter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).