diff --git a/src/config.c b/src/config.c index b558fc2..8efa069 100644 --- a/src/config.c +++ b/src/config.c @@ -60,7 +60,7 @@ void clear_forwarding_mark(int32_t symbol_idx, int32_t interface) { continue; } - BITFIELD_CLEAR(lbt_config.loaded_libs[idx]->active_forwards, symbol_idx); + LBT_BITFIELD_CLEAR(lbt_config.loaded_libs[idx]->active_forwards, symbol_idx); } } diff --git a/src/libblastrampoline.c b/src/libblastrampoline.c index 9ef79ee..39833ab 100644 --- a/src/libblastrampoline.c +++ b/src/libblastrampoline.c @@ -407,7 +407,7 @@ LBT_DLLEXPORT int32_t lbt_forward(const char * libname, int32_t clear, int32_t v if (addr != NULL && addr != self_symbol_addr) { lbt_set_forward_by_index(symbol_idx, addr, interface, complex_retstyle, f2c, verbose); - BITFIELD_SET(forwards, symbol_idx); + LBT_BITFIELD_SET(forwards, symbol_idx); nforwards++; } } diff --git a/src/libblastrampoline.h b/src/libblastrampoline.h index 250e82b..0293cd9 100644 --- a/src/libblastrampoline.h +++ b/src/libblastrampoline.h @@ -38,11 +38,11 @@ extern "C" { # define LBT_HIDDEN __attribute__ ((visibility("hidden"))) #endif -#define BF_CHUNK(array, idx) (array[((uint32_t)(idx/8))]) -#define BF_MASK(idx) ((uint8_t)(0x1 << (idx % 8))) -#define BITFIELD_GET(array, idx) ((BF_CHUNK(array, idx) & BF_MASK(idx)) >> (idx % 8)) -#define BITFIELD_CLEAR(array, idx) BF_CHUNK(array, idx) &= ~(BF_MASK(idx)) -#define BITFIELD_SET(array, idx) BF_CHUNK(array, idx) |= BF_MASK(idx) +#define LBT_BF_CHUNK(array, idx) (array[((uint32_t)(idx/8))]) +#define LBT_BF_MASK(idx) ((uint8_t)(0x1 << (idx % 8))) +#define LBT_BITFIELD_GET(array, idx) ((LBT_BF_CHUNK(array, idx) & LBT_BF_MASK(idx)) >> (idx % 8)) +#define LBT_BITFIELD_CLEAR(array, idx) LBT_BF_CHUNK(array, idx) &= ~(LBT_BF_MASK(idx)) +#define LBT_BITFIELD_SET(array, idx) LBT_BF_CHUNK(array, idx) |= LBT_BF_MASK(idx) // The metadata stored on each loaded library @@ -55,7 +55,7 @@ typedef struct { // Common values are `""` or `"64_"`. const char * suffix; // bitfield (in uint8_t form) representing the active forwards for this library. - // Use the `BITFIELD_{SET,GET}` macros to look at particular indices within this field. + // Use the `LBT_BITFIELD_{SET,GET}` macros to look at particular indices within this field. // Note that if you use the footgun API (e.g. "lbt_set_forward()") these values will be // zeroed out and you must track them manually if you need to. uint8_t * active_forwards;