mirror of
https://github.com/Proxmark/proxmark3.git
synced 2024-09-21 23:36:51 +08:00
Merge pull request #558 from pwpiwi/fix_alignment
add force_align_arg_pointer attribute to all callback functions
This commit is contained in:
commit
c839fa2c25
|
@ -1158,7 +1158,13 @@ static bool timeout(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void *check_for_BitFlipProperties_thread(void *args)
|
static void
|
||||||
|
#ifdef __has_attribute
|
||||||
|
#if __has_attribute(force_align_arg_pointer)
|
||||||
|
__attribute__((force_align_arg_pointer))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
*check_for_BitFlipProperties_thread(void *args)
|
||||||
{
|
{
|
||||||
uint8_t first_byte = ((uint8_t *)args)[0];
|
uint8_t first_byte = ((uint8_t *)args)[0];
|
||||||
uint8_t last_byte = ((uint8_t *)args)[1];
|
uint8_t last_byte = ((uint8_t *)args)[1];
|
||||||
|
@ -1906,7 +1912,13 @@ static void init_book_of_work(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void *generate_candidates_worker_thread(void *args)
|
static void
|
||||||
|
#ifdef __has_attribute
|
||||||
|
#if __has_attribute(force_align_arg_pointer)
|
||||||
|
__attribute__((force_align_arg_pointer))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
*generate_candidates_worker_thread(void *args)
|
||||||
{
|
{
|
||||||
uint16_t *sum_args = (uint16_t *)args;
|
uint16_t *sum_args = (uint16_t *)args;
|
||||||
uint16_t sum_a0 = sums[sum_args[0]];
|
uint16_t sum_a0 = sums[sum_args[0]];
|
||||||
|
|
|
@ -295,7 +295,13 @@ typedef
|
||||||
|
|
||||||
|
|
||||||
// wrapper function for multi-threaded lfsr_recovery32
|
// wrapper function for multi-threaded lfsr_recovery32
|
||||||
void* nested_worker_thread(void *arg)
|
void
|
||||||
|
#ifdef __has_attribute
|
||||||
|
#if __has_attribute(force_align_arg_pointer)
|
||||||
|
__attribute__((force_align_arg_pointer))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
*nested_worker_thread(void *arg)
|
||||||
{
|
{
|
||||||
struct Crypto1State *p1;
|
struct Crypto1State *p1;
|
||||||
StateList_t *statelist = arg;
|
StateList_t *statelist = arg;
|
||||||
|
@ -309,6 +315,7 @@ void* nested_worker_thread(void *arg)
|
||||||
return statelist->head.slhead;
|
return statelist->head.slhead;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t *resultKey, bool calibrate)
|
int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t *resultKey, bool calibrate)
|
||||||
{
|
{
|
||||||
uint16_t i;
|
uint16_t i;
|
||||||
|
|
|
@ -67,7 +67,14 @@ struct receiver_arg {
|
||||||
byte_t rx[sizeof(UsbCommand)];
|
byte_t rx[sizeof(UsbCommand)];
|
||||||
byte_t* prx = rx;
|
byte_t* prx = rx;
|
||||||
|
|
||||||
static void *uart_receiver(void *targ) {
|
|
||||||
|
static void
|
||||||
|
#ifdef __has_attribute
|
||||||
|
#if __has_attribute(force_align_arg_pointer)
|
||||||
|
__attribute__((force_align_arg_pointer))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
*uart_receiver(void *targ) {
|
||||||
struct receiver_arg *arg = (struct receiver_arg*)targ;
|
struct receiver_arg *arg = (struct receiver_arg*)targ;
|
||||||
size_t rxlen;
|
size_t rxlen;
|
||||||
|
|
||||||
|
@ -95,7 +102,13 @@ static void *uart_receiver(void *targ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void main_loop(char *script_cmds_file, char *script_cmd, bool usb_present) {
|
void
|
||||||
|
#ifdef __has_attribute
|
||||||
|
#if __has_attribute(force_align_arg_pointer)
|
||||||
|
__attribute__((force_align_arg_pointer))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
main_loop(char *script_cmds_file, char *script_cmd, bool usb_present) {
|
||||||
struct receiver_arg rarg;
|
struct receiver_arg rarg;
|
||||||
char *cmd = NULL;
|
char *cmd = NULL;
|
||||||
pthread_t reader_thread;
|
pthread_t reader_thread;
|
||||||
|
|
Loading…
Reference in a new issue