isa-l/erasure_code
H.J. Lu cd888f01a4 x86: Add ENDBR32/ENDBR64 at function entries for Intel CET
To support Intel CET, all indirect branch targets must start with
ENDBR32/ENDBR64.  Here is a patch to define endbranch and add it to
function entries in x86 assembly codes which are indirect branch
targets as discovered by running testsuite on Intel CET machine and
visual inspection.

Verified with

$ CC="gcc -Wl,-z,cet-report=error -fcf-protection" CXX="g++ -Wl,-z,cet-report=error -fcf-protection" .../configure x86_64-linux
$ make -j8
$ make -j8 check

with both nasm and yasm on both CET and non-CET machines.

Change-Id: I9822578e7294fb5043a64ab7de5c41de81a7d337
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2020-05-26 09:16:49 -07:00
..
aarch64 erasure_code: modify eor way in aarch64 neon codes 2019-11-01 15:31:33 -07:00
ppc64le enable VSX SIMD in ISA-L for ppc64le 2020-02-20 09:40:43 -07:00
ec_base_aliases.c ec: Add base function aliases 2017-03-30 17:40:16 -07:00
ec_base.c ec: Remove references in lib source to types.h 2018-06-21 14:39:08 -07:00
ec_base.h Make variables in ec_base.h (file) static 2019-10-11 15:39:56 -07:00
ec_highlevel_func.c ec: add AVX512 ec functions with 5 and 6 outputs 2019-11-19 10:12:14 -07:00
ec_multibinary.asm build: Avoid requiring AVX512 define when using dispatch functions 2019-09-14 16:01:28 -07:00
erasure_code_base_perf.c all: Revamp performance testing to be time based 2019-03-07 09:28:04 -07:00
erasure_code_base_test.c Format only patch from iindent and remove_whitespace 2017-06-26 04:10:47 -04:00
erasure_code_perf.c erasure_code: modify perf benchmark loop 2019-10-30 10:34:40 -07:00
erasure_code_test.c Format only patch from iindent and remove_whitespace 2017-06-26 04:10:47 -04:00
erasure_code_update_perf.c Fix a few c99isms in unit tests 2019-03-19 15:02:40 -07:00
erasure_code_update_test.c ec: Determine exact conditions where gf_gen_rs_matrix works 2017-06-26 04:11:12 -04:00
gen_rs_matrix_limits.c ec: Determine exact conditions where gf_gen_rs_matrix works 2017-06-26 04:11:12 -04:00
gf_2vect_dot_prod_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_dot_prod_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_dot_prod_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_dot_prod_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_mad_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_mad_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_mad_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_2vect_mad_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_dot_prod_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_dot_prod_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_dot_prod_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_dot_prod_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_mad_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_mad_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_mad_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_3vect_mad_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_dot_prod_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_dot_prod_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_dot_prod_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_dot_prod_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_mad_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_mad_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_mad_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_4vect_mad_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_dot_prod_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_dot_prod_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_dot_prod_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_dot_prod_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_mad_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_mad_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_mad_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_5vect_mad_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_dot_prod_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_dot_prod_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_dot_prod_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_dot_prod_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_mad_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_mad_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_mad_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_6vect_mad_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_inverse_test.c Format only patch from iindent and remove_whitespace 2017-06-26 04:10:47 -04:00
gf_vect_dot_prod_1tbl.c all: Revamp performance testing to be time based 2019-03-07 09:28:04 -07:00
gf_vect_dot_prod_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_dot_prod_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_dot_prod_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_dot_prod_base_test.c Format only patch from iindent and remove_whitespace 2017-06-26 04:10:47 -04:00
gf_vect_dot_prod_perf.c all: Revamp performance testing to be time based 2019-03-07 09:28:04 -07:00
gf_vect_dot_prod_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_dot_prod_test.c Format only patch from iindent and remove_whitespace 2017-06-26 04:10:47 -04:00
gf_vect_mad_avx2.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_mad_avx512.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_mad_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_mad_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_mad_test.c ec: Fix incorrect min size stated for gf_vect_mad 2019-07-16 15:41:34 -07:00
gf_vect_mul_avx.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_mul_base_test.c Format only patch from iindent and remove_whitespace 2017-06-26 04:10:47 -04:00
gf_vect_mul_perf.c all: Revamp performance testing to be time based 2019-03-07 09:28:04 -07:00
gf_vect_mul_sse.asm x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
gf_vect_mul_test.c test: Remove redundant arch-specific tests 2017-11-30 11:13:21 -07:00
Makefile.am ec: Remove arch-specific redundant gf_nvect tests 2020-03-06 13:45:59 -07:00