@@ -404,6 +404,8 @@ __thread struct shadow_stack qasan_shadow_stack;
404
404
405
405
#ifdef ASAN_GIOVESE
406
406
407
+ #ifndef DO_NOT_USE_QASAN
408
+
407
409
#include "qemuafl/asan-giovese-inl.h"
408
410
409
411
#include <sys/types.h>
@@ -601,6 +603,7 @@ char* asan_giovese_printaddr(target_ulong guest_addr) {
601
603
602
604
void HELPER (qasan_shadow_stack_push )(target_ulong ptr ) {
603
605
606
+ #ifndef DO_NOT_USE_QASAN
604
607
#if defined(TARGET_ARM )
605
608
ptr &= ~1 ;
606
609
#endif
@@ -624,11 +627,13 @@ void HELPER(qasan_shadow_stack_push)(target_ulong ptr) {
624
627
ns -> index = 0 ;
625
628
qasan_shadow_stack .first = ns ;
626
629
}
630
+ #endif
627
631
628
632
}
629
633
630
634
void HELPER (qasan_shadow_stack_pop )(target_ulong ptr ) {
631
635
636
+ #ifndef DO_NOT_USE_QASAN
632
637
#if defined(TARGET_ARM )
633
638
ptr &= ~1 ;
634
639
#endif
@@ -653,13 +658,17 @@ void HELPER(qasan_shadow_stack_pop)(target_ulong ptr) {
653
658
} while (cur_bk -> buf [cur_bk -> index ] != ptr );
654
659
655
660
qasan_shadow_stack .first = cur_bk ;
661
+ #endif
656
662
657
663
}
658
664
665
+ #endif
666
+
659
667
target_long qasan_actions_dispatcher (void * cpu_env ,
660
668
target_long action , target_long arg1 ,
661
669
target_long arg2 , target_long arg3 ) {
662
670
671
+ #ifndef DO_NOT_USE_QASAN
663
672
CPUArchState * env = cpu_env ;
664
673
665
674
switch (action ) {
@@ -759,6 +768,7 @@ target_long qasan_actions_dispatcher(void *cpu_env,
759
768
fprintf (stderr , "Invalid QASAN action " TARGET_FMT_ld "\n" , action );
760
769
abort ();
761
770
}
771
+ #endif
762
772
763
773
return 0 ;
764
774
}
@@ -773,6 +783,7 @@ dh_ctype(tl) HELPER(qasan_fake_instr)(CPUArchState *env, dh_ctype(tl) action,
773
783
774
784
void HELPER (qasan_load1 )(CPUArchState * env , target_ulong addr ) {
775
785
786
+ #ifndef DO_NOT_USE_QASAN
776
787
if (qasan_disabled ) return ;
777
788
778
789
void * ptr = (void * )AFL_G2H (addr );
@@ -784,11 +795,13 @@ void HELPER(qasan_load1)(CPUArchState *env, target_ulong addr) {
784
795
#else
785
796
__asan_load1 (ptr );
786
797
#endif
798
+ #endif
787
799
788
800
}
789
801
790
802
void HELPER (qasan_load2 )(CPUArchState * env , target_ulong addr ) {
791
803
804
+ #ifndef DO_NOT_USE_QASAN
792
805
if (qasan_disabled ) return ;
793
806
794
807
void * ptr = (void * )AFL_G2H (addr );
@@ -800,11 +813,13 @@ void HELPER(qasan_load2)(CPUArchState *env, target_ulong addr) {
800
813
#else
801
814
__asan_load2 (ptr );
802
815
#endif
816
+ #endif
803
817
804
818
}
805
819
806
820
void HELPER (qasan_load4 )(CPUArchState * env , target_ulong addr ) {
807
821
822
+ #ifndef DO_NOT_USE_QASAN
808
823
if (qasan_disabled ) return ;
809
824
810
825
void * ptr = (void * )AFL_G2H (addr );
@@ -816,11 +831,13 @@ void HELPER(qasan_load4)(CPUArchState *env, target_ulong addr) {
816
831
#else
817
832
__asan_load4 (ptr );
818
833
#endif
834
+ #endif
819
835
820
836
}
821
837
822
838
void HELPER (qasan_load8 )(CPUArchState * env , target_ulong addr ) {
823
839
840
+ #ifndef DO_NOT_USE_QASAN
824
841
if (qasan_disabled ) return ;
825
842
826
843
void * ptr = (void * )AFL_G2H (addr );
@@ -832,11 +849,13 @@ void HELPER(qasan_load8)(CPUArchState *env, target_ulong addr) {
832
849
#else
833
850
__asan_load8 (ptr );
834
851
#endif
852
+ #endif
835
853
836
854
}
837
855
838
856
void HELPER (qasan_store1 )(CPUArchState * env , target_ulong addr ) {
839
857
858
+ #ifndef DO_NOT_USE_QASAN
840
859
if (qasan_disabled ) return ;
841
860
842
861
void * ptr = (void * )AFL_G2H (addr );
@@ -848,11 +867,13 @@ void HELPER(qasan_store1)(CPUArchState *env, target_ulong addr) {
848
867
#else
849
868
__asan_store1 (ptr );
850
869
#endif
870
+ #endif
851
871
852
872
}
853
873
854
874
void HELPER (qasan_store2 )(CPUArchState * env , target_ulong addr ) {
855
875
876
+ #ifndef DO_NOT_USE_QASAN
856
877
if (qasan_disabled ) return ;
857
878
858
879
void * ptr = (void * )AFL_G2H (addr );
@@ -864,11 +885,13 @@ void HELPER(qasan_store2)(CPUArchState *env, target_ulong addr) {
864
885
#else
865
886
__asan_store2 (ptr );
866
887
#endif
888
+ #endif
867
889
868
890
}
869
891
870
892
void HELPER (qasan_store4 )(CPUArchState * env , target_ulong addr ) {
871
893
894
+ #ifndef DO_NOT_USE_QASAN
872
895
if (qasan_disabled ) return ;
873
896
874
897
void * ptr = (void * )AFL_G2H (addr );
@@ -880,11 +903,13 @@ void HELPER(qasan_store4)(CPUArchState *env, target_ulong addr) {
880
903
#else
881
904
__asan_store4 (ptr );
882
905
#endif
906
+ #endif
883
907
884
908
}
885
909
886
910
void HELPER (qasan_store8 )(CPUArchState * env , target_ulong addr ) {
887
911
912
+ #ifndef DO_NOT_USE_QASAN
888
913
if (qasan_disabled ) return ;
889
914
890
915
void * ptr = (void * )AFL_G2H (addr );
@@ -896,5 +921,6 @@ void HELPER(qasan_store8)(CPUArchState *env, target_ulong addr) {
896
921
#else
897
922
__asan_store8 (ptr );
898
923
#endif
924
+ #endif
899
925
900
926
}
0 commit comments