mirror of
https://github.com/intel/isa-l.git
synced 2024-12-12 09:23:50 +01:00
8074e3fe1b
We should generate .note.gnu.property section with x86 assembly codes for ELF outputs to mark Intel CET support when Intel CET is enabled since all input files must be marked with Intel CET support in order for linker to mark output with Intel CET support. Since nasm and yasm can't generate the proper .note.gnu.property section, yasm-cet-filter.sh and yasm-filter.sh are added to generate the proper .note.gnu.property with linker help. 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 on Linux/x86-64. Change-Id: I14e03a8a9031c8397dc36939a528cf5a827d775a Signed-off-by: H.J. Lu <hjl.tools@gmail.com> |
||
---|---|---|
crc | ||
erasure_code | ||
examples/ec | ||
igzip | ||
include | ||
mem | ||
programs | ||
raid | ||
tests/fuzz | ||
tools | ||
.gitignore | ||
.travis.yml | ||
autogen.sh | ||
configure.ac | ||
CONTRIBUTING.md | ||
Doxyfile | ||
isa-l.def | ||
libisal.pc.in | ||
LICENSE | ||
make.inc | ||
Makefile.am | ||
Makefile.nmake | ||
Makefile.unx | ||
README.md | ||
Release_notes.txt |
Intel(R) Intelligent Storage Acceleration Library
ISA-L is a collection of optimized low-level functions targeting storage applications. ISA-L includes:
- Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
- CRC - Fast implementations of cyclic redundancy check. Six different
polynomials supported.
- iscsi32, ieee32, t10dif, ecma64, iso64, jones64.
- Raid - calculate and operate on XOR and P+Q parity found in common RAID implementations.
- Compression - Fast deflate-compatible data compression.
- De-compression - Fast inflate-compatible data compression.
Also see:
- ISA-L for updates.
- For crypto functions see isa-l_crypto on github.
- The github wiki including a list of distros/ports offering binary packages.
- ISA-L mailing list.
- Contributing.
Building ISA-L
Prerequisites
- Make: GNU 'make' or 'nmake' (Windows).
- Optional: Building with autotools requires autoconf/automake packages.
x86_64:
- Assembler: nasm v2.11.01 or later (nasm v2.13 or better suggested for building in AVX512 support) or yasm version 1.2.0 or later.
- Compiler: gcc, clang, icc or VC compiler.
aarch64:
- Assembler: gas v2.24 or later.
- Compiler: gcc v4.7 or later.
other:
- Compiler: Portable base functions are available that build with most C compilers.
Autotools
To build and install the library with autotools it is usually sufficient to run:
./autogen.sh
./configure
make
sudo make install
Makefile
To use a standard makefile run:
make -f Makefile.unx
Windows
On Windows use nmake to build dll and static lib:
nmake -f Makefile.nmake
Other make targets
Other targets include:
make check
: create and run testsmake tests
: create additional unit testsmake perfs
: create included performance testsmake ex
: build examplesmake other
: build other utilities such as compression file testsmake doc
: build API manual