Remove inline from all BPF C functions (#10038)

This commit is contained in:
Jack May 2020-05-13 17:23:39 -07:00 committed by GitHub
parent cf8eb7700b
commit c5460e7fee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 23 deletions

View File

@ -117,14 +117,6 @@ static_assert(sizeof(uint64_t) == 8);
#include <stdbool.h> #include <stdbool.h>
#endif #endif
/**
* Prefix for all BPF functions
*
* This prefix should be used for functions in order to facilitate
* interoperability with BPF representation
*/
#define SOL_FN_PREFIX __attribute__((always_inline)) static
/** /**
* Prints a string to stdout * Prints a string to stdout
*/ */
@ -157,7 +149,7 @@ typedef struct {
* @param two Second public key * @param two Second public key
* @return true if the same * @return true if the same
*/ */
SOL_FN_PREFIX bool SolPubkey_same(const SolPubkey *one, const SolPubkey *two) { static bool SolPubkey_same(const SolPubkey *one, const SolPubkey *two) {
for (int i = 0; i < sizeof(*one); i++) { for (int i = 0; i < sizeof(*one); i++) {
if (one->x[i] != two->x[i]) { if (one->x[i] != two->x[i]) {
return false; return false;
@ -184,7 +176,7 @@ typedef struct {
/** /**
* Copies memory * Copies memory
*/ */
SOL_FN_PREFIX void sol_memcpy(void *dst, const void *src, int len) { static void sol_memcpy(void *dst, const void *src, int len) {
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
*((uint8_t *)dst + i) = *((const uint8_t *)src + i); *((uint8_t *)dst + i) = *((const uint8_t *)src + i);
} }
@ -193,7 +185,7 @@ SOL_FN_PREFIX void sol_memcpy(void *dst, const void *src, int len) {
/** /**
* Compares memory * Compares memory
*/ */
SOL_FN_PREFIX int sol_memcmp(const void *s1, const void *s2, int n) { static int sol_memcmp(const void *s1, const void *s2, int n) {
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
uint8_t diff = *((uint8_t *)s1 + i) - *((const uint8_t *)s2 + i); uint8_t diff = *((uint8_t *)s1 + i) - *((const uint8_t *)s2 + i);
if (diff) { if (diff) {
@ -206,7 +198,7 @@ SOL_FN_PREFIX int sol_memcmp(const void *s1, const void *s2, int n) {
/** /**
* Fill a byte string with a byte value * Fill a byte string with a byte value
*/ */
SOL_FN_PREFIX void *sol_memset(void *b, int c, size_t len) { static void *sol_memset(void *b, int c, size_t len) {
uint8_t *a = (uint8_t *) b; uint8_t *a = (uint8_t *) b;
while (len > 0) { while (len > 0) {
*a = c; *a = c;
@ -218,7 +210,7 @@ SOL_FN_PREFIX void *sol_memset(void *b, int c, size_t len) {
/** /**
* Find length of string * Find length of string
*/ */
SOL_FN_PREFIX size_t sol_strlen(const char *s) { static size_t sol_strlen(const char *s) {
size_t len = 0; size_t len = 0;
while (*s) { while (*s) {
len++; len++;
@ -275,7 +267,7 @@ typedef struct {
* @param params Pointer to a SolParameters structure * @param params Pointer to a SolParameters structure
* @return Boolean true if successful. * @return Boolean true if successful.
*/ */
SOL_FN_PREFIX bool sol_deserialize( static bool sol_deserialize(
const uint8_t *input, const uint8_t *input,
SolParameters *params, SolParameters *params,
uint64_t ka_num uint64_t ka_num
@ -286,10 +278,6 @@ SOL_FN_PREFIX bool sol_deserialize(
params->ka_num = *(uint64_t *) input; params->ka_num = *(uint64_t *) input;
input += sizeof(uint64_t); input += sizeof(uint64_t);
if (ka_num > params->ka_num) {
return false;
}
for (int i = 0; i < params->ka_num; i++) { for (int i = 0; i < params->ka_num; i++) {
uint8_t dup_info = input[0]; uint8_t dup_info = input[0];
input += sizeof(uint8_t); input += sizeof(uint8_t);
@ -413,7 +401,7 @@ typedef struct {
* @param seeds Seed strings used to sign program accounts * @param seeds Seed strings used to sign program accounts
* @param seeds_len Length of the seeds array * @param seeds_len Length of the seeds array
*/ */
SOL_FN_PREFIX uint64_t sol_invoke_signed( static uint64_t sol_invoke_signed(
const SolInstruction *instruction, const SolInstruction *instruction,
const SolAccountInfo *account_infos, const SolAccountInfo *account_infos,
int account_infos_len, int account_infos_len,
@ -441,7 +429,7 @@ SOL_FN_PREFIX uint64_t sol_invoke_signed(
* @param account_infos Accounts used by instruction * @param account_infos Accounts used by instruction
* @param account_infos_len Length of account_infos array * @param account_infos_len Length of account_infos array
*/ */
SOL_FN_PREFIX uint64_t sol_invoke( static uint64_t sol_invoke(
const SolInstruction *instruction, const SolInstruction *instruction,
const SolAccountInfo *account_infos, const SolAccountInfo *account_infos,
int account_infos_len int account_infos_len
@ -468,7 +456,7 @@ SOL_FN_PREFIX uint64_t sol_invoke(
* *
* @param key The public key to print * @param key The public key to print
*/ */
SOL_FN_PREFIX void sol_log_key(const SolPubkey *key) { static void sol_log_key(const SolPubkey *key) {
for (int j = 0; j < sizeof(*key); j++) { for (int j = 0; j < sizeof(*key); j++) {
sol_log_64(0, 0, 0, j, key->x[j]); sol_log_64(0, 0, 0, j, key->x[j]);
} }
@ -479,7 +467,7 @@ SOL_FN_PREFIX void sol_log_key(const SolPubkey *key) {
* *
* @param array The array to print * @param array The array to print
*/ */
SOL_FN_PREFIX void sol_log_array(const uint8_t *array, int len) { static void sol_log_array(const uint8_t *array, int len) {
for (int j = 0; j < len; j++) { for (int j = 0; j < len; j++) {
sol_log_64(0, 0, 0, j, array[j]); sol_log_64(0, 0, 0, j, array[j]);
} }
@ -490,7 +478,7 @@ SOL_FN_PREFIX void sol_log_array(const uint8_t *array, int len) {
* *
* @param params Pointer to a SolParameters structure * @param params Pointer to a SolParameters structure
*/ */
SOL_FN_PREFIX void sol_log_params(const SolParameters *params) { static void sol_log_params(const SolParameters *params) {
sol_log("- Program identifier:"); sol_log("- Program identifier:");
sol_log_key(params->program_id); sol_log_key(params->program_id);