#At file:///home/marko/innobase/dev/mysql/5.1-innodb/ based on revid:marko.makela@strippedjo6cwjtcf9
3471 Marko Mäkelä 2010-05-19
Silence some more bogus Valgrind warnings on non-32-bit systems. (Bug #53307)
modified:
storage/innodb_plugin/buf/buf0buddy.c
storage/innodb_plugin/buf/buf0buf.c
storage/innodb_plugin/buf/buf0lru.c
storage/innodb_plugin/page/page0zip.c
=== modified file 'storage/innodb_plugin/buf/buf0buddy.c'
--- a/storage/innodb_plugin/buf/buf0buddy.c revid:marko.makela@stripped75843-4gl3uijo6cwjtcf9
+++ b/storage/innodb_plugin/buf/buf0buddy.c revid:marko.makela@stripped555oqmu3wo95so
@@ -495,7 +495,12 @@ success:
mutex_exit(mutex);
} else if (i == buf_buddy_get_slot(sizeof(buf_page_t))) {
/* This must be a buf_page_t object. */
+#if UNIV_WORD_SIZE == 4
+ /* On 32-bit systems, there is no padding in
+ buf_page_t. On other systems, Valgrind could complain
+ about uninitialized pad bytes. */
UNIV_MEM_ASSERT_RW(src, size);
+#endif
if (buf_buddy_relocate_block(src, dst)) {
goto success;
=== modified file 'storage/innodb_plugin/buf/buf0buf.c'
--- a/storage/innodb_plugin/buf/buf0buf.c revid:marko.makela@oracle.com-20100519075843-4gl3uijo6cwjtcf9
+++ b/storage/innodb_plugin/buf/buf0buf.c revid:marko.makela@stripped19080152-h3555oqmu3wo95so
@@ -2280,7 +2280,12 @@ wait_until_unfixed:
ut_ad(buf_block_get_state(block) == BUF_BLOCK_FILE_PAGE);
mutex_enter(&block->mutex);
+#if UNIV_WORD_SIZE == 4
+ /* On 32-bit systems, there is no padding in buf_page_t. On
+ other systems, Valgrind could complain about uninitialized pad
+ bytes. */
UNIV_MEM_ASSERT_RW(&block->page, sizeof block->page);
+#endif
buf_block_buf_fix_inc(block, file, line);
=== modified file 'storage/innodb_plugin/buf/buf0lru.c'
--- a/storage/innodb_plugin/buf/buf0lru.c revid:marko.makela@stripped00519075843-4gl3uijo6cwjtcf9
+++ b/storage/innodb_plugin/buf/buf0lru.c revid:marko.makela@stripped2-h3555oqmu3wo95so
@@ -1494,8 +1494,13 @@ alloc:
ut_ad(prev_b->in_LRU_list);
ut_ad(buf_page_in_file(prev_b));
+#if UNIV_WORD_SIZE == 4
+ /* On 32-bit systems, there is no
+ padding in buf_page_t. On other
+ systems, Valgrind could complain about
+ uninitialized pad bytes. */
UNIV_MEM_ASSERT_RW(prev_b, sizeof *prev_b);
-
+#endif
UT_LIST_INSERT_AFTER(LRU, buf_pool->LRU,
prev_b, b);
=== modified file 'storage/innodb_plugin/page/page0zip.c'
--- a/storage/innodb_plugin/page/page0zip.c revid:marko.makela@stripped519075843-4gl3uijo6cwjtcf9
+++ b/storage/innodb_plugin/page/page0zip.c revid:marko.makela@stripped2-h3555oqmu3wo95so
@@ -3117,8 +3117,13 @@ page_zip_validate_low(
temp_page_zip in a debugger when running valgrind --db-attach. */
VALGRIND_GET_VBITS(page, temp_page, UNIV_PAGE_SIZE);
UNIV_MEM_ASSERT_RW(page, UNIV_PAGE_SIZE);
+# if UNIV_WORD_SIZE == 4
VALGRIND_GET_VBITS(page_zip, &temp_page_zip, sizeof temp_page_zip);
+ /* On 32-bit systems, there is no padding in page_zip_des_t.
+ On other systems, Valgrind could complain about uninitialized
+ pad bytes. */
UNIV_MEM_ASSERT_RW(page_zip, sizeof *page_zip);
+# endif
VALGRIND_GET_VBITS(page_zip->data, temp_page,
page_zip_get_size(page_zip));
UNIV_MEM_ASSERT_RW(page_zip->data, page_zip_get_size(page_zip));
Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100519080152-h3555oqmu3wo95so.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-innodb branch (marko.makela:3471) Bug#53307 | marko.makela | 19 May |