From: Brian Norris Date: Tue, 15 May 2012 17:03:30 +0000 (-0700) Subject: librace: actually compute the loads and stores X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=commitdiff_plain;h=33b5b3edcfd8e5a2c0349c60be2bef6da08d1e33 librace: actually compute the loads and stores We need to perform the actual load or store within our race detection library, since the model checker totally takes over the operation. --- diff --git a/librace.cc b/librace.cc index 42ed9c19..fa9a1101 100644 --- a/librace.cc +++ b/librace.cc @@ -7,43 +7,47 @@ void store_8(void *addr, uint8_t val) { DEBUG("addr = %p, val = %" PRIu8 "\n", addr, val); + (*(uint8_t *)addr) = val; } void store_16(void *addr, uint16_t val) { DEBUG("addr = %p, val = %" PRIu16 "\n", addr, val); + (*(uint16_t *)addr) = val; } void store_32(void *addr, uint32_t val) { DEBUG("addr = %p, val = %" PRIu32 "\n", addr, val); + (*(uint32_t *)addr) = val; } void store_64(void *addr, uint64_t val) { DEBUG("addr = %p, val = %" PRIu64 "\n", addr, val); + (*(uint64_t *)addr) = val; } uint8_t load_8(void *addr) { DEBUG("addr = %p\n", addr); - return 0; + return *((uint8_t *)addr); } uint16_t load_16(void *addr) { DEBUG("addr = %p\n", addr); - return 0; + return *((uint16_t *)addr); } uint32_t load_32(void *addr) { DEBUG("addr = %p\n", addr); - return 0; + return *((uint32_t *)addr); } uint64_t load_64(void *addr) { DEBUG("addr = %p\n", addr); - return 0; + return *((uint64_t *)addr); }