@@ -56,7 +56,11 @@ mod ffi {
5656 fn varintgb_codec ( ) -> UniquePtr < IntegerCODEC > ;
5757 fn simple16_codec ( ) -> UniquePtr < IntegerCODEC > ;
5858 fn simple9_codec ( ) -> UniquePtr < IntegerCODEC > ;
59+
60+ // On Aarch64, seem to be having SIGSEGV issues
61+ #[ cfg( not( target_arch = "aarch64" ) ) ]
5962 fn simple9_rle_codec ( ) -> UniquePtr < IntegerCODEC > ;
63+
6064 fn simple8b_codec ( ) -> UniquePtr < IntegerCODEC > ;
6165 fn simple8b_rle_codec ( ) -> UniquePtr < IntegerCODEC > ;
6266 // TODO: conditional with #ifdef, might support later
@@ -346,9 +350,6 @@ implement_codecs! {
346350 /// Simple-9 encoding scheme.
347351 CppSimple9 => simple9_codec,
348352
349- /// Simple-9 encoding with run-length encoding.
350- CppSimple9Rle => simple9_rle_codec,
351-
352353 /// Simple Patched Frame of Reference ([`CppPFor`]) codec.
353354 CppSimplePFor => simplepfor_codec,
354355
@@ -371,6 +372,12 @@ implement_codecs! {
371372 // CppVsEncoding => vsencoding_codec, // This is leaking memory
372373}
373374
375+ #[ cfg( not( target_arch = "aarch64" ) ) ]
376+ implement_codecs ! {
377+ /// Simple-9 encoding with run-length encoding.
378+ CppSimple9Rle => simple9_rle_codec,
379+ }
380+
374381// ── BlockCodec impls (4 block-oriented codecs) ───────────────────────────────
375382
376383macro_rules! impl_block_codec {
@@ -606,7 +613,6 @@ mod tests {
606613 CppSimple8b ,
607614 CppSimple8bRle ,
608615 CppSimple9 ,
609- CppSimple9Rle ,
610616 CppSimplePFor ,
611617 CppStreamVByte ,
612618 CppVByte ,
@@ -615,6 +621,11 @@ mod tests {
615621 ) ;
616622 }
617623
624+ mod default_impls2 {
625+ #[ cfg( not( target_arch = "aarch64" ) ) ]
626+ test_default ! ( CppSimple9Rle ) ;
627+ }
628+
618629 /// `decode32_to_vec` with a completely empty input slice returns Ok without panicking.
619630 #[ test]
620631 fn test_decode32_empty_input ( ) {
0 commit comments