Ticket #8252: debug_build_on_64bit.patch

File debug_build_on_64bit.patch, 1.9 KB (added by umccullough, 12 years ago)

Fix debug build on 64bit host

  • src/kits/support/BlockCache.cpp

    From f17e669f8c3c99b130f9ab8e441054b719c21cbe Mon Sep 17 00:00:00 2001
    From: Urias McCullough <umccullough@gmail.com>
    Date: Sat, 17 Dec 2011 21:53:31 -0800
    Subject: [PATCH 1/2] Partial fix for DEBUG=1 build on a 64bit host
    
    ---
     src/kits/support/BlockCache.cpp |    8 ++++----
     1 files changed, 4 insertions(+), 4 deletions(-)
    
    diff --git a/src/kits/support/BlockCache.cpp b/src/kits/support/BlockCache.cpp
    index f35308a..b699ff5 100644
    a b BBlockCache::BBlockCache(uint32 blockCount,  
    8383        block->next = fFreeList;
    8484        fFreeList = block;
    8585        DEBUG_ONLY(block->magic1 = MAGIC1);
    86         DEBUG_ONLY(block->magic2 = MAGIC2 + (uint32)block->next);
     86        DEBUG_ONLY(block->magic2 = MAGIC2 + (uint32)(addr_t)block->next);
    8787    }
    8888}
    8989
    BBlockCache::~BBlockCache()  
    9393    fLocker.Lock();
    9494    while (fFreeList) {
    9595        ASSERT(fFreeList->magic1 == MAGIC1);
    96         ASSERT(fFreeList->magic2 == MAGIC2 + (uint32)fFreeList->next);
     96        ASSERT(fFreeList->magic2 == MAGIC2 + (uint32)(addr_t)fFreeList->next);
    9797        void *pointer = fFreeList;
    9898        fFreeList = fFreeList->next;
    9999        DEBUG_ONLY(memset(pointer, 0xCC, sizeof(_FreeBlock)));
    BBlockCache::Get(size_t blockSize)  
    111111    if (blockSize == fBlockSize && fFreeList != 0) {
    112112        // we can take a block from the list
    113113        ASSERT(fFreeList->magic1 == MAGIC1);
    114         ASSERT(fFreeList->magic2 == MAGIC2 + (uint32)fFreeList->next);
     114        ASSERT(fFreeList->magic2 == MAGIC2 + (uint32)(addr_t)fFreeList->next);
    115115        pointer = fFreeList;
    116116        fFreeList = fFreeList->next;
    117117        fFreeBlocks--;
    BBlockCache::Save(void *pointer, size_t blockSize)  
    138138        fFreeList = block;
    139139        fFreeBlocks++;
    140140        DEBUG_ONLY(block->magic1 = MAGIC1);
    141         DEBUG_ONLY(block->magic2 = MAGIC2 + (uint32)block->next);
     141        DEBUG_ONLY(block->magic2 = MAGIC2 + (uint32)(addr_t)block->next);
    142142    } else {
    143143        DEBUG_ONLY(memset(pointer, 0xCC, sizeof(_FreeBlock)));
    144144        fFree(pointer);