问题描述
在Linux环境下,两次编译一个rpm包,但是两次编译出来的某一个so文件有二进制差异
# cmp /home/2/aarch64_base/lib/libsatlas.so.3.10 /home/3/aarch64_base/lib/libsatlas.so.3.10
/home/2/aarch64_base/lib/libsatlas.so.3.10 /home/3/aarch64_base/lib/libsatlas.so.3.10 differ: byte 473, line 1
两次编译的log中,编译这个so文件的命令也没有差异
第一次:
# grep -A 3 "\-o libsatlas.so.3.10" 2.log
/usr/bin/gcc -g -Wa,--noexecstack -fPIC -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared -o libsatlas.so.3.10 \
\
-Wl,-soname,"libsatlas.so.3" \
-Wl,--whole-archive liblapack.a libf77blas.a libcblas.a libatlas.a /root/rpmbuild/BUILD/ATLAS/liblapack_pic_pruned.a -Wl,--no-whole-archive -L/usr/lib/gcc/aarch64-linux-gnu/7.3.0 -lgfortran -lc -lpthread -lm -lgcc
第二次:
# grep -A 3 "\-o libsatlas.so.3.10" 3.log
/usr/bin/gcc -g -Wa,--no