From: <pl...@us...> - 2003-05-28 14:24:30
|
Update of /cvsroot/ltp/utils/analysis/gcov-kernel/i386 In directory sc8-pr-cvs1:/tmp/cvs-serv30173 Added Files: gcov-2.4.20-i386.patch Log Message: broken out i386 parts from gcov-2.4.20 --- NEW FILE: gcov-2.4.20-i386.patch --- --- linux-2.4.20/arch/i386/config.in 2002-11-28 17:53:09.000000000 -0600 +++ linux-2.4.20-gcov/arch/i386/config.in 2003-05-28 00:30:20.000000000 -0500 @@ -455,4 +455,14 @@ fi endmenu +mainmenu_option next_comment +comment 'GCOV coverage profiling' + +bool 'GCOV kernel' CONFIG_GCOV_PROFILE +if [ "$CONFIG_GCOV_PROFILE" != "n" ]; then + bool ' GCOV kernel profiler' CONFIG_GCOV_ALL + tristate ' gcov-proc module' CONFIG_GCOV_PROC +fi +endmenu + source lib/Config.in --- linux-2.4.20/arch/i386/kernel/head.S 2002-08-02 19:39:42.000000000 -0500 +++ linux-2.4.20-gcov/arch/i386/kernel/head.S 2003-04-10 06:50:27.000000000 -0500 @@ -446,3 +446,26 @@ ENTRY(gdt_table) .quad 0x00009a0000000000 /* 0x50 APM CS 16 code (16 bit) */ .quad 0x0040920000000000 /* 0x58 APM DS data */ .fill NR_CPUS*4,8,0 /* space for TSS's and LDT's */ + + + #ifdef CONFIG_GCOV_PROFILE + /* + * The .ctors-section contains a list of pointers to constructor + * functions which are used to initialize gcov structures. + * + * Because there is no NULL at the end of the constructor list + * in the kernel we need the addresses of both the constructor + * as well as the destructor list which are supposed to be + * adjacent. + */ + + .section ".ctors","aw" + .globl __CTOR_LIST__ + .type __CTOR_LIST__,@object + __CTOR_LIST__: + .section ".dtors","aw" + .globl __DTOR_LIST__ + .type __DTOR_LIST__,@object + __DTOR_LIST__: + #endif + |