Commit Graph

52 Commits

Author SHA1 Message Date
Taiju Yamada
ea1288fc6a Disable hardening build on mingw
Signed-off-by: Taiju Yamada <tyamada@bi.a.u-tokyo.ac.jp>
2024-11-21 15:30:27 +00:00
Pablo de Lara
47b2c5ab15 Makefile: remove duplicated pattern match
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-05-31 13:30:48 +01:00
Pablo de Lara
8c2ff41c7f build: allow alternative compiler
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-03-14 13:41:41 +00:00
Pablo de Lara
ffc16330d8 makefile: add spellcheck
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-02-06 15:03:14 +00:00
Pablo de Lara
bd22637502 Bump version to v2.31
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-01-18 18:27:24 +00:00
Greg Tucker
479b3f84f9 build: fix CET default in unix Makefile
CET default flag was clobbering CFLAGS.

Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2024-01-15 16:53:04 +00:00
Pablo de Lara
7145c7f8b4 Makefile: add architecture to CFLAGS
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2024-01-10 15:53:14 +00:00
Tomasz Kantecki
c183961175 build: enable full read-only relocations and control flow integrity for hardening check
Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com>
2023-12-18 10:47:23 +00:00
Greg Tucker
f980b36655 build: Change include shortcut D to not conflict with env
The variable D= can be used to quickly add defines. This sets a null
default so it can only be overridden by the make command line.

fixes #184

Change-Id: I84615174547f36208d6d577c1e30b6fac83139b3
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2021-09-14 19:18:31 -07:00
Greg Tucker
112dd72c01 build: Remove unneeded file types.h
The file types.h has long been misnamed and overlaps with
functionality in the test helper routines.

Change-Id: I774047d3a0074198b67a6b4e909f1e2ce1938195
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2021-06-10 09:35:43 -07:00
Greg Tucker
240ca46ffb build: Change mingw to nasm by default
Change-Id: I80053b8cf62f5f2ef7c12661086e9aeaf2eea573
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2021-05-21 19:44:39 -07:00
Greg Tucker
ebb78fc99e build: Fix warning from inconsistency in gnu make
Make changed the interpretation of escaped # in a quote causing
warnings in the test for pthreads.

Change-Id: Ice94116713aea3c3e9725b38232e03f53d6633cc
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2021-03-03 10:26:06 -07:00
Greg Tucker
600d8d8f77 build: Update fuzz tests for deprecated clang args
Clang has deprecated the option -fsanitize-coverage=trace-pc-guard
for use with fuzzing.

Change-Id: I7fe5da0f57ab44110208d098858b786450a0a5e7
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2020-12-04 15:04:02 -07:00
Greg Tucker
2df39cf5f1 build: Bump revision to 2.30
Change-Id: If6d696ee76f3949d3cf5aff34403df65bce2c6b9
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2020-11-06 18:08:16 -07:00
Greg Tucker
806b55ee57 build: Bump revision to 2.29
Change-Id: I78cfa77864f3fd77c3b63199bc18fd1782fe3dc2
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2020-02-26 18:29:49 -07:00
Jerry Yu
e2b07bbd44 build: fix debug build problem
Remove strip command when lib_debug=1

Change-Id: I1203fcbfefb3b87080e9ba12ccbfb8018a008147
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2019-12-31 13:15:05 -07:00
Greg Tucker
36502ec33b build: Bump revision to 2.28
Change-Id: I57443be6b0f6dff6129943cd6e1508d73bc1aa80
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2019-09-17 10:43:53 -07:00
Greg Tucker
ae3c91ab85 build: Set assembler feature level in std make
Also fix multibinary to try each available arch

Change-Id: Icd8496d169665bded478a33a02e739d1f8349b6f
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2019-09-14 16:01:28 -07:00
Jerry Yu
183385f02f multibinary: Add run-time cpu feature detect for aarch64
Some CPUs  report "illegal instruction" error for the crc test because
they do not support the relevant optional feature . This can be fixed by
introducing CPU feature detection for AArch64 .

The difference with the x86 implementation is the dispatcher . It is based
on the glibc function `getauxval(AT_HWCAP)` and `getauxval(AT_HWCAP2)` , not
registers or instructions .

On a  heterogeneous system (big.LITTLE) , it is dangerous to detect CPU
features using identification registers . And while it is possible to use
architectural feature registers from userspace on recent kernels, this
won't necessarily work with older platforms . Thus we use the HW_CAPs
exported from the kernel (and visible in getauxval) as the solution.

- According to kernel suggestion , getauxval should be used for this purpose .
  - [CPU Feature detection](https://github.com/torvalds/linux/blob/master/Documentation/arm64/cpu-feature-registers.rst)
- According to  AAPCS result/paramter registers should be saved/restore for function call
  - [AAPCS](http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.pdf)
  - [GLibc](https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=blob;f=sysdeps/aarch64/dl-trampoline.S)

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
Change-Id: Ic9abe0d2268ac95537e1abf10acc642fc58a5054
2019-08-26 17:58:42 +08:00
Jerry Yu
0c22fcd3e2 build: fix compile break for unsupported CPUs
Build with Makefile.unx on unsupported CPUs fail . It reports
"undefine references". Fix it with adding base aliases files
into sources list

Change-Id: I9fbdeee7cb82edc9d5d8461bee3f648be83feaa6
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
2019-08-23 17:28:22 +08:00
Greg Tucker
38f4880a4e build: Set nasm as the default when using std makefile
Also test the assembler for modern instruction support and set appropriate
defines.

Change-Id: I1628abd50b3babeeb7e010b86bda7ea97de0e6fb
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2019-07-16 15:47:20 -07:00
Greg Tucker
10906f3d3a build: Bump revision to 2.27
Change-Id: Ia0f0f872614370475a29fdab32b587480a3ff760
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2019-06-24 10:47:15 -07:00
Greg Tucker
0a7e3167ce igzip: Add optional threaded compression to cli tool
Change-Id: Ia29e877cfa8bef2285d8b48bb9133b2ff5b2eea0
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2019-06-21 16:37:17 -07:00
Greg Tucker
f30db4c6c6 build: Bump revision to 2.26
Change-Id: I97ed7ab591e8174f7379be0563d6b9f2d0f90f0a
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2019-03-25 12:57:17 -07:00
Yibo Cai
57eed2f02b aarch64: Cleanup build issues
This patch addresses one build failure and fixes several build warnings
for Arm (some for x86 too).

- Fix dynamic relocation link failure of ld.bfd 2.30 on Arm
  [log] relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `xor_gen_neon' which may bind externally can not be used when making a shared object

- Add arch dependent "other_tests" to exclude x86 specific tests on Arm
  [log] isa-l/erasure_code/gf_2vect_dot_prod_sse_test.c:181: undefined reference to `gf_2vect_dot_prod_sse'

- Check "fread" return value to fix gcc warnings on Arm and x86
  [log] warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
        fread(in_buf, 1, in_size, in_file);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Fix issue of comparing "char" with "int" on Arm. "char" is unsigned
  on Arm by default, an unsigned char will never equal to EOF(-1).
  [Log] programs/igzip_cli.c:318:31: warning: comparison is always true due to limited range of data type [-Wtype-limits]
        while (tmp != '\n' && tmp != EOF)
                                  ^~

- Include <stdlib.h> to several files to fix build warnings on Arm
  [log] igzip/igzip_inflate_perf.c:339:5: warning: incompatible implicit declaration of built-in function ‘exit’
        exit(0);
        ^~~~

Change-Id: I82c1b63316b634b3d398ffba2ff815679d9051a8
Signed-off-by: Yibo Cai <yibo.cai@arm.com>
2019-03-20 10:15:40 +08:00
Yibo Cai
7a44098a98 build: Add aarch64 support
Change-Id: If9594936a28355d89edd1a331b3b429dffa44184
Signed-off-by: Yibo Cai <yibo.cai@arm.com>
2019-02-10 13:08:56 -07:00
Greg Tucker
a4795d8011 build: Bump revision to 2.25
Change-Id: Ie85600426b36ab8c10cf2b9bc0c71667b9595e57
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-12-12 11:07:41 -07:00
Greg Tucker
37a42dd2e8 build: Fix for older mingw that does not auto add extention
Change-Id: I5217da1f59ed747aa85da30fd005343e245c4fe2
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-11-15 18:02:49 -07:00
Greg Tucker
9d7e8097bc build: Fix for change in mingw linker adding extention
New mingw linker will always add .exe extention to filenames regardless of the
-o file name.

Change-Id: I089bc95e91ca9a11c0f6fbb23ff138699d9b42f9
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-11-15 10:57:25 -07:00
Greg Tucker
3983fac41f build: Bump revision to 2.24
Change-Id: I55b665f36867e827b5b3660e6fee297908cdc4ea
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-09-25 15:37:30 -07:00
Greg Tucker
c872426b1c doc: Add man file for igzip
Change-Id: I13b054aebddcdc1bfa9ae9b82cf4fc5c8ebab94b
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-09-25 11:03:09 -07:00
Roy Oursler
2104a77d02 igzip: Create a command line utitlity
Change-Id: If283f03231ca3a5cd6f97d01c5268ad37cb3b538
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-09-20 11:12:02 -07:00
Greg Tucker
8e1f3c01f3 build: Bump revision to 2.23
Change-Id: If3dcae790b0c3acb83ab59140cf9a046e79ce6a4
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-06-21 14:55:56 -07:00
Greg Tucker
16a5d25988 test: Add llvm libFuzz arguments for builtin clang 6.0
Clang 6.0 has libFuzzer included and different args

Change-Id: Iad7470d13a93c6b5e41de63f634ba8d501eaaa37
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-30 00:36:52 -07:00
Greg Tucker
0ba5f0f7db build: Bump revision to 2.21
Change-Id: I72ab302f7fb4e23e2637f810cee131264b4e96d4
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-29 23:12:31 -07:00
Greg Tucker
553f01f0c4 Include doxygen label in toplevel header
Change-Id: I8dfc08afa8255ff781104542c0a50da1519673e0
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-02-09 11:13:27 -07:00
Greg Tucker
249deb378d build: Bump revision to 2.21
Change-Id: I5a5bfe5e15ff56e791aaabd68915793ee1886ba3
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-19 17:41:33 -07:00
Greg Tucker
6dcf6edba3 test: Fix ext script for darwin arch=noarch
Change-Id: If50f15fd1fef862e73eac50cebc88fbf18caf989
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-11-29 15:54:32 -07:00
Greg Tucker
4f59eeda90 test: Add llvm fuzz testing
Moved the afl fuzz test and added llvm fuzz tests including inflate
and round trip compress and inflate.  Currently only works with clang,
std makefile and libFuzzer installed.  Need to add checking and
support later when libfuzzer is more tightly integrated into the
compiler.

Change-Id: I2db9ad2335d6c5ed846886703b58225f67bcc935
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-11-17 17:28:27 -07:00
Greg Tucker
ebf720af04 build: Bump revision to 2.20
Change-Id: I0f994fa9d31d873706b41b0b5c50b5f277ad0988
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-15 18:48:44 -07:00
Xiaodong Liu
96ade864f1 build: Bump revision to 2.19
Change-Id: Ib0f47911fc4745faf3535e73eefa4c012500316f
Signed-off-by: Xiaodong Liu <xiaodong.liu@intel.com>
2017-06-26 04:47:40 -04:00
Greg Tucker
fc1467deb2 Format only patch from iindent and remove_whitespace
Change-Id: I114bfcfa8750c7ba3a50ad2be9dd9e87cb7a1042
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-06-26 04:10:47 -04:00
Greg Tucker
6715e73d16 build: Bump revision to 2.18
Change-Id: I9b62a40d6a8c850476eb426d7c163f25d4af3a51
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-03-30 20:22:36 -07:00
Greg Tucker
5d9cf8cadf ec: Fixes for 32-bit build
Change-Id: Iac362f0d7282716a8502afcec939b0d1877a943f
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-03-30 17:56:07 -07:00
Greg Tucker
97bbddc723 build: Change to canonical system type in autoconf
Change-Id: I5eb76fcf5da46fe85ad4fc06511a47d822e7da2c
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-03-06 09:40:07 -07:00
Greg Tucker
9be74b389f doc: Add doxyfile for API doc creation
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-01-11 19:14:23 -07:00
Greg Tucker
8b8ba4e968 Update build config to v2.17
Change-Id: Ibe18733dd03f684f4e1042d684bd5bc543753031
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 21:39:59 -07:00
Greg Tucker
f82f589c3e Fix alt Makefile for Darwin obj format and libtool
Change-Id: I867588637e41292eb621952b95c9b40c74b2bd48
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 10:03:36 -07:00
Greg Tucker
55d70385b5 Allow unx makefile to build isa-l.h like automake
The traditional makefile was failing on install.  Changes to build isa-l.h in
the same way that automake does it.

Change-Id: I9342d153e637f5d841691f95e08d85f0b65460bf
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 09:59:58 -07:00
Greg Tucker
136f82c9d0 Add missing make targets: checks and check
Makefile.am was missing make checks and Makefile.unx was missing make check.
Added both to be consistent with nmake file.

Change-Id: I08116ac820bccdb5500c794fa1e12c2a9bfdf802
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 09:53:11 -07:00