Go to file
H.J. Lu 8074e3fe1b x86: Generate .note.gnu.property section for ELF output
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>
2020-05-26 17:12:01 -07:00
crc x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
erasure_code x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
examples/ec all: Revamp performance testing to be time based 2019-03-07 09:28:04 -07:00
igzip x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
include x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
mem x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
programs build: Bump revision to 2.29 2020-02-26 18:29:49 -07:00
raid x86: Add ENDBR32/ENDBR64 at function entries for Intel CET 2020-05-26 09:16:49 -07:00
tests/fuzz aarch64: Cleanup build issues 2019-03-20 10:15:40 +08:00
tools x86: Generate .note.gnu.property section for ELF output 2020-05-26 17:12:01 -07:00
.gitignore build: Add gitignore 2019-05-01 16:48:10 -07:00
.travis.yml build: disable clang support in ci 2019-11-01 18:10:50 +08:00
autogen.sh Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
configure.ac x86: Generate .note.gnu.property section for ELF output 2020-05-26 17:12:01 -07:00
CONTRIBUTING.md doc: Update mailing list link 2019-10-16 17:13:54 -07:00
Doxyfile doc: Remove non-extern headers and add treeview 2019-10-16 17:13:54 -07:00
isa-l.def build: Bump revision to 2.29 2020-02-26 18:29:49 -07:00
libisal.pc.in Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
LICENSE build: Bump revision to 2.19 2017-06-26 04:47:40 -04:00
make.inc build: Bump revision to 2.29 2020-02-26 18:29:49 -07:00
Makefile.am x86: Generate .note.gnu.property section for ELF output 2020-05-26 17:12:01 -07:00
Makefile.nmake build: Change ms nmake default to nasm and add pdb gen 2020-03-31 22:55:27 +00:00
Makefile.unx build: Add auto regenerate of nmake file 2020-03-10 14:00:05 -07:00
README.md doc: Move arch-dependent build instructions to readme 2019-11-01 15:55:44 -07:00
Release_notes.txt Update release notes for v2.29 additions 2020-02-26 12:04:18 -07:00

Intel(R) Intelligent Storage Acceleration Library

Build Status

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:

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 tests
  • make tests : create additional unit tests
  • make perfs : create included performance tests
  • make ex : build examples
  • make other : build other utilities such as compression file tests
  • make doc : build API manual