aboutsummaryrefslogtreecommitdiff
path: root/documentation/gcov.txt
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2015-05-05 13:10:04 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2015-05-06 19:09:47 +0200
commit4d8b843d3740cc90c98f181d49f0d4a67cb0a1b7 (patch)
tree19306425b170975b5317a63a84b0e6f4b94b5f40 /documentation/gcov.txt
parent29ed46caccd5cea8401c5d133895fa3a9d6f5030 (diff)
Rename documentation -> Documentation
In order to be closer to the Linux kernel source tree structure, rename documentation to Documentation. Change-Id: I8690f666638ef352d201bd3c3dc1923b0d24cb12 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/10110 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'documentation/gcov.txt')
-rw-r--r--documentation/gcov.txt227
1 files changed, 0 insertions, 227 deletions
diff --git a/documentation/gcov.txt b/documentation/gcov.txt
deleted file mode 100644
index 896ec939d6..0000000000
--- a/documentation/gcov.txt
+++ /dev/null
@@ -1,227 +0,0 @@
-This patch contains our local modifications for gcov-io.h and libgcov.c.
-The file gcov-iov.h is taken from a gcc build (produced at compile
-time). The file gcov-io.c is unchanged.
-
---- gcc-4.7.2/gcc/gcov-io.h 2011-12-04 10:27:19.000000000 -0800
-+++ coreboot/src/lib/gcov-io.h 2013-01-12 16:45:57.000000000 -0800
-@@ -163,6 +163,24 @@
- #ifndef GCC_GCOV_IO_H
- #define GCC_GCOV_IO_H
-
-+#ifdef __COREBOOT__
-+#define GCOV_LINKAGE /* nothing */
-+/* We need the definitions for
-+ BITS_PER_UNIT and
-+ LONG_LONG_TYPE_SIZE
-+ They are defined in gcc/defaults.h and gcc/config/<arch_depend_files>
-+ (like, gcc/config/i386/i386.h). And it can be overridden by setting
-+ in build scripts. Here I hardcoded the value for x86. */
-+#define BITS_PER_UNIT 8
-+#define LONG_LONG_TYPE_SIZE 64
-+
-+/* There are many gcc_assertions. Set the vaule to 1 if we want a warning
-+ message if the assertion fails. */
-+#ifndef ENABLE_ASSERT_CHECKING
-+#define ENABLE_ASSERT_CHECKING 1
-+#endif
-+#endif /* __COREBOOT__ */
-+
- #if IN_LIBGCOV
- /* About the target */
-
-@@ -232,7 +250,9 @@
- is not also used in a DSO. */
- #if IN_LIBGCOV
-
-+#ifndef __COREBOOT__
- #include "tconfig.h"
-+#endif /* __COREBOOT__ */
-
- #define gcov_var __gcov_var
- #define gcov_open __gcov_open
-@@ -455,8 +475,10 @@
- /* Register a new object file module. */
- extern void __gcov_init (struct gcov_info *) ATTRIBUTE_HIDDEN;
-
-+#ifndef __COREBOOT__
- /* Called before fork, to avoid double counting. */
- extern void __gcov_flush (void) ATTRIBUTE_HIDDEN;
-+#endif
-
- /* The merge function that just sums the counters. */
- extern void __gcov_merge_add (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
---- gcc-4.7.2/libgcc/libgcov.c 2012-01-11 10:50:21.000000000 -0800
-+++ coreboot/src/lib/libgcov.c 2013-01-16 09:45:11.000000000 -0800
-@@ -25,12 +25,41 @@
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-+#define __COREBOOT__
-+#ifdef __COREBOOT__
-+#include <stdlib.h>
-+#include <string.h>
-+#include <console/console.h>
-+#include <assert.h>
-+typedef s32 pid_t;
-+#define gcc_assert(x) ASSERT(x)
-+#define fprintf(file, x...) printk(BIOS_ERR, x)
-+#define alloca(size) __builtin_alloca (size)
-+#include "gcov-glue.c"
-+
-+/* Define MACROs to be used by coreboot compilation. */
-+# define L_gcov
-+# define L_gcov_interval_profiler
-+# define L_gcov_pow2_profiler
-+# define L_gcov_one_value_profiler
-+# define L_gcov_indirect_call_profiler
-+# define L_gcov_average_profiler
-+# define L_gcov_ior_profiler
-+
-+# define HAVE_CC_TLS 0
-+# define __GCOV_KERNEL__
-+
-+# define IN_LIBGCOV 1
-+# define IN_GCOV 0
-+#else /* __COREBOOT__ */
- #include "tconfig.h"
- #include "tsystem.h"
- #include "coretypes.h"
- #include "tm.h"
- #include "libgcc_tm.h"
-+#endif /* __COREBOOT__ */
-
-+#ifndef __COREBOOT__
- #if defined(inhibit_libc)
- #define IN_LIBGCOV (-1)
- #else
-@@ -41,6 +70,7 @@
- #define GCOV_LINKAGE /* nothing */
- #endif
- #endif
-+#endif /* __COREBOOT__ */
- #include "gcov-io.h"
-
- #if defined(inhibit_libc)
-@@ -68,12 +98,17 @@
-
- #else
-
-+#ifndef __COREBOOT__
- #include <string.h>
- #if GCOV_LOCKED
- #include <fcntl.h>
- #include <errno.h>
- #include <sys/stat.h>
- #endif
-+#else
-+void __gcov_merge_add(gcov_type *counters __attribute__ ((unused)),
-+ unsigned n_counters __attribute__ ((unused))) {}
-+#endif /* __COREBOOT__ */
-
- #ifdef L_gcov
- #include "gcov-io.c"
-@@ -99,6 +134,10 @@
- static int
- create_file_directory (char *filename)
- {
-+#ifdef __COREBOOT__
-+ (void) filename;
-+ return 0;
-+#else
- #if !defined(TARGET_POSIX_IO) && !defined(_WIN32)
- (void) filename;
- return -1;
-@@ -137,6 +176,7 @@
- };
- return 0;
- #endif
-+#endif
- }
-
- static struct gcov_fn_buffer *
-@@ -279,7 +319,7 @@
- struct gcov_ctr_summary *cs_ptr;
- const struct gcov_ctr_info *ci_ptr;
- unsigned t_ix;
-- int f_ix;
-+ int f_ix = 0;
- gcov_unsigned_t c_num;
- const char *gcov_prefix;
- int gcov_prefix_strip = 0;
-@@ -329,6 +369,7 @@
- }
- }
-
-+#ifndef __COREBOOT__
- {
- /* Check if the level of dirs to strip off specified. */
- char *tmp = getenv("GCOV_PREFIX_STRIP");
-@@ -352,6 +393,7 @@
- prefix_length--;
- }
- else
-+#endif
- prefix_length = 0;
-
- /* If no prefix was specified and a prefix stip, then we assume
-@@ -696,8 +738,10 @@
- if (filename_length > gcov_max_filename)
- gcov_max_filename = filename_length;
-
-+#ifndef __COREBOOT__
- if (!gcov_list)
- atexit (gcov_exit);
-+#endif
-
- info->next = gcov_list;
- gcov_list = info;
-@@ -767,14 +811,15 @@
-
- #ifdef L_gcov_merge_single
- /* The profile merging function for choosing the most common value.
-- It is given an array COUNTERS of N_COUNTERS old counters and it
-- reads the same number of counters from the gcov file. The counters
-- are split into 3-tuples where the members of the tuple have
-- meanings:
--
-- -- the stored candidate on the most common value of the measured entity
-- -- counter
-- -- total number of evaluations of the value */
-+ * It is given an array COUNTERS of N_COUNTERS old counters and it
-+ * reads the same number of counters from the gcov file. The counters
-+ * are split into 3-tuples where the members of the tuple have
-+ * meanings:
-+ *
-+ * -- the stored candidate on the most common value of the measured entity
-+ * -- counter
-+ * -- total number of evaluations of the value
-+ */
- void
- __gcov_merge_single (gcov_type *counters, unsigned n_counters)
- {
-@@ -805,15 +850,16 @@
-
- #ifdef L_gcov_merge_delta
- /* The profile merging function for choosing the most common
-- difference between two consecutive evaluations of the value. It is
-- given an array COUNTERS of N_COUNTERS old counters and it reads the
-- same number of counters from the gcov file. The counters are split
-- into 4-tuples where the members of the tuple have meanings:
--
-- -- the last value of the measured entity
-- -- the stored candidate on the most common difference
-- -- counter
-- -- total number of evaluations of the value */
-+ * difference between two consecutive evaluations of the value. It is
-+ * given an array COUNTERS of N_COUNTERS old counters and it reads the
-+ * same number of counters from the gcov file. The counters are split
-+ * into 4-tuples where the members of the tuple have meanings:
-+ *
-+ * -- the last value of the measured entity
-+ * -- the stored candidate on the most common difference
-+ * -- counter
-+ * -- total number of evaluations of the value
-+ */
- void
- __gcov_merge_delta (gcov_type *counters, unsigned n_counters)
- {