From 5ecb9da8018191dfa5cc15264f76adba43b280ee Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Wed, 31 Oct 2018 20:28:24 -0700 Subject: [PATCH] Fix up bpf numeric types --- programs/bpf/c/sdk/inc/sol_bpf.h | 16 ++++++++++------ programs/bpf/c/src/noop.c | 9 +++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/programs/bpf/c/sdk/inc/sol_bpf.h b/programs/bpf/c/sdk/inc/sol_bpf.h index 0b3fb16799..3f16fba37a 100644 --- a/programs/bpf/c/sdk/inc/sol_bpf.h +++ b/programs/bpf/c/sdk/inc/sol_bpf.h @@ -10,14 +10,18 @@ extern "C" { /** * Numeric types */ +#ifndef __LP64__ +#error LP64 data model required +#endif + typedef signed char int8_t; typedef unsigned char uint8_t; -typedef signed int int16_t; -typedef unsigned int uint16_t; -typedef signed long int int32_t; -typedef unsigned long int uint32_t; -typedef signed long long int int64_t; -typedef unsigned long long int uint64_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +typedef signed long int int64_t; +typedef unsigned long int uint64_t; /** * Boolean type diff --git a/programs/bpf/c/src/noop.c b/programs/bpf/c/src/noop.c index e7db08d1cb..ceb77fd1cb 100644 --- a/programs/bpf/c/src/noop.c +++ b/programs/bpf/c/src/noop.c @@ -20,5 +20,14 @@ extern bool entrypoint(const uint8_t *input) { return false; } sol_print_params(NUM_KA, ka, data, data_len); + + sol_assert(sizeof(int8_t) == 1); + sol_assert(sizeof(uint8_t) == 1); + sol_assert(sizeof(int16_t) == 2); + sol_assert(sizeof(uint16_t) == 2); + sol_assert(sizeof(int32_t) == 4); + sol_assert(sizeof(uint32_t) == 4); + sol_assert(sizeof(int64_t) == 8); + sol_assert(sizeof(uint64_t) == 8); return true; }