add force_align_arg_pointer attribute to all callback functions

* inspired by issue #404 and respective fix PR #538
* possible fix for mysterious crashes, e.g. issue #497 and http://www.proxmark.org/forum/viewtopic.php?id=5388
This commit is contained in:
pwpiwi 2018-01-31 18:31:51 +01:00
commit f921c113c9
3 changed files with 37 additions and 5 deletions

View file

@ -67,7 +67,14 @@ struct receiver_arg {
byte_t rx[sizeof(UsbCommand)];
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;
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;
char *cmd = NULL;
pthread_t reader_thread;