Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

compile error inlining failed in call to always_inline ‘_mm_alignr_epi8’ on unbantu20.04 gcc9 #177

Closed
imayuxiang opened this issue Jan 23, 2021 · 9 comments

Comments

@imayuxiang
Copy link

r/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:139:5: note: called from here
139 | m1=_mm_alignr_epi8(m1,m0,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:160:3: note: in expansion of macro ‘LSHIFT8’
160 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:138:5: note: called from here
138 | m2=_mm_alignr_epi8(m2,m1,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:160:3: note: in expansion of macro ‘LSHIFT8’
160 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:137:5: note: called from here
137 | m3=_mm_alignr_epi8(m3,m2,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:160:3: note: in expansion of macro ‘LSHIFT8’
160 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:139:5: note: called from here
139 | m1=_mm_alignr_epi8(m1,m0,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:160:3: note: in expansion of macro ‘LSHIFT8’
160 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:138:5: note: called from here
138 | m2=_mm_alignr_epi8(m2,m1,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:160:3: note: in expansion of macro ‘LSHIFT8’
160 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:137:5: note: called from here
137 | m3=_mm_alignr_epi8(m3,m2,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:160:3: note: in expansion of macro ‘LSHIFT8’
160 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:139:5: note: called from here
139 | m1=_mm_alignr_epi8(m1,m0,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:170:3: note: in expansion of macro ‘LSHIFT8’
170 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:138:5: note: called from here
138 | m2=_mm_alignr_epi8(m2,m1,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:170:3: note: in expansion of macro ‘LSHIFT8’
170 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:137:5: note: called from here
137 | m3=_mm_alignr_epi8(m3,m2,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:170:3: note: in expansion of macro ‘LSHIFT8’
170 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:139:5: note: called from here
139 | m1=_mm_alignr_epi8(m1,m0,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:170:3: note: in expansion of macro ‘LSHIFT8’
170 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:138:5: note: called from here
138 | m2=_mm_alignr_epi8(m2,m1,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:170:3: note: in expansion of macro ‘LSHIFT8’
170 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:33:
/usr/lib/gcc/x86_64-linux-gnu/9/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch
185 | _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
| ^~~~~~~~~~~~~~~
In file included from /builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low.c:118:
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:137:5: note: called from here
137 | m3=_mm_alignr_epi8(m3,m2,15);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builds/algorithm_team/pyaby/third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/low/curve2251-sse/relic_fb_mul_low_ld.c:170:3: note: in expansion of macro ‘LSHIFT8’
170 | LSHIFT8(m3, m2, m1, m0);
| ^~~~~~~
make[2]: *** [third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/CMakeFiles/relic_s.dir/build.make:1077: third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/CMakeFiles/relic_s.dir/low/curve2251-sse/relic_fb_mul_low.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:319: third_party/ABY/extern/ENCRYPTO_utils/extern/relic/src/CMakeFiles/relic_s.dir/all] Error 2

@dfaranha
Copy link
Contributor

It looks like a toolchain problem, so I need more information to reproduce this issue.

What are you trying to build and how?

@imayuxiang
Copy link
Author

I want to build ABY, which relyed on ENCRYPTO_utils, and ENCRYPTO_utils used relic. I have complied it with sse3 flag, but it does not work

@dfaranha
Copy link
Contributor

Can you give a sequence of steps to reproduce?
Can you try building with -march=native in your machine?

@dfaranha
Copy link
Contributor

It's been a month and I still cannot reproduce, hence closed.

huitseeker added a commit to huitseeker/flow-go that referenced this issue Jun 16, 2021
The diff contains:
- a lot of changes that concern parts of the library we don't use (other curves a la BN, BLS24-X, BLS12-383 ...), integer protocols (ETRS), field extension machinery ...
- otherwise irrelevant changes, e.g. CI/CD
- some memory bug fixing

[Full Changeset](https://github.com/relic-toolkit/relic/compare/7a9bba7f..9206ae5)

**Fixed bugs:**

- Unexpected failure of ep2\_mul\[\_lwnaf\] above the prime group order [\onflow#64](relic-toolkit/relic#64)

**Closed issues:**

- Other way to construct towered extension fields [\onflow#203](relic-toolkit/relic#203)
- blake2.h:101:5: error: size of array element is not a multiple of its alignment [\onflow#202](relic-toolkit/relic#202)
- ECIES 160bit [\onflow#201](relic-toolkit/relic#201)
- Compilation with "ARITH gmp" fails [\onflow#200](relic-toolkit/relic#200)
- Support for armv8-a ? [\onflow#198](relic-toolkit/relic#198)
- Function name bn\_init conflicts with OpenSSL when used in tandem [\onflow#196](relic-toolkit/relic#196)
- 16-bit MSP430 [\onflow#193](relic-toolkit/relic#193)
- Modular exponentiation returns 1 if exponent is 0 and modulo is 1 [\onflow#185](relic-toolkit/relic#185)
- Compilation of RELIC with bls12-446 and bls12-455 fails [\onflow#182](relic-toolkit/relic#182)
- test\_bn fails with BLS12-381 preset [\onflow#181](relic-toolkit/relic#181)
- \[BUG\] undefined reference to `bench_init', `bench\_clean' [\onflow#180](relic-toolkit/relic#180)
- Tests FTBFS because of missing symbol in header [\onflow#179](relic-toolkit/relic#179)
- Builds are broken [\onflow#178](relic-toolkit/relic#178)
- compile error  inlining failed in call to always\_inline ‘\_mm\_alignr\_epi8’ on unbantu20.04 gcc9 [\onflow#177](relic-toolkit/relic#177)
- bn\_write\_str buffer overflow [\onflow#176](relic-toolkit/relic#176)
- ECDSA verify succeeds when it should fail [\onflow#175](relic-toolkit/relic#175)
- ec\_mul\_gen hangs with curve SECG\_K256 [\onflow#174](relic-toolkit/relic#174)
- Wrong square root computation [\onflow#173](relic-toolkit/relic#173)
- Out-of-bounds read via bn\_sqr\_basic [\onflow#172](relic-toolkit/relic#172)
- OSS-Fuzz integration [\onflow#171](relic-toolkit/relic#171)
- Building Relic with Curve NIST\_P256 throws FATAL ERROR in relic\_fp\_prime.c:120 [\onflow#170](relic-toolkit/relic#170)
- Compressing \(packing\) a point to binary array does not comply with X9.62 standard [\onflow#169](relic-toolkit/relic#169)
-  ‘ctx\_t’ {aka ‘struct \_ctx\_t’} has no member named ‘total’ [\onflow#168](relic-toolkit/relic#168)
- relic does not work with C++ [\onflow#167](relic-toolkit/relic#167)
- Memory leak in ep2\_curve\_init/clean with ALLOC=DYNAMIC [\onflow#166](relic-toolkit/relic#166)
- \*\_is\_valid\(\) functions produce false negative for not normalized points [\onflow#147](relic-toolkit/relic#147)
- Bench and Test doesnt build [\onflow#122](relic-toolkit/relic#122)

**Merged pull requests:**

- Add pairing delegation protocols [\onflow#199](relic-toolkit/relic#199) ([dfaranha](https://github.com/dfaranha))
- Fix support for Win64/MSVC targets. [\onflow#197](relic-toolkit/relic#197) ([dfaranha](https://github.com/dfaranha))
- Simplify generator getting for Gt. [\onflow#194](relic-toolkit/relic#194) ([luozejiaqun](https://github.com/luozejiaqun))
- cmake: Always use user defined CFLAGS, not only for release builds [\onflow#187](relic-toolkit/relic#187) ([xdustinface](https://github.com/xdustinface))
- Fix MinGW build [\onflow#186](relic-toolkit/relic#186) ([xdustinface](https://github.com/xdustinface))
- Remove debug printf in bn\_mxp\_slide [\onflow#184](relic-toolkit/relic#184) ([guidovranken](https://github.com/guidovranken))
- Remove ALLOC = STACK to simplify memory allocation. [\onflow#183](relic-toolkit/relic#183) ([dfaranha](https://github.com/dfaranha))
- Update relic\_alloc.h [\onflow#165](relic-toolkit/relic#165) ([aguycalled](https://github.com/aguycalled))
- Add correct support for FreeBSD and NetBSD [\onflow#164](relic-toolkit/relic#164) ([hoffmang9](https://github.com/hoffmang9))
@Oleksandr-Tkachenko
Copy link

I'm experiencing the same problem, which is also related to #178. Namely, ENCRYPTO_utils used COMP to set the appropriate compiler flags, but now COMP is not used anymore and CFLAGS is ignored if it doesn't originate from the terminal flags. Would it be possible to append custom compiler flags via cmake directly, in addition to the ones from the terminal?

@dfaranha
Copy link
Contributor

I thought the issue with CFLAGS was fixed. Perhaps I can reproduce if I follow encryptogroup/ENCRYPTO_utils#29

@dfaranha dfaranha reopened this Jun 29, 2021
@dfaranha
Copy link
Contributor

Renaming COMP to CFLAGS in the CMakeLists.txt within ENCRYPTO_utils solved it for me. Can you please try?

@Oleksandr-Tkachenko
Copy link

It indeed started working after removing the cmake cache, thanks a lot for your help @dfaranha!

On the other hand, IMO it might still be a good idea to use relic-specific flags for that, e.g., RELIC_COMPILE_OPTIONS, and put them into

target_compile_options(${RELIC} ${RELIC_COMPILE_OPTIONS})

to avoid setting the options globally. What do you think?

@dfaranha
Copy link
Contributor

Quite possibly, I need to look at best practices in other CMake projects. There are a lot of variables to prefix in the configuration, and we will eventually get there after prefixing all internal symbols in RELIC.

Closing for now, thanks for the check!

huitseeker added a commit to huitseeker/flow-go that referenced this issue Jul 12, 2021
The diff contains:
- a lot of changes that concern parts of the library we don't use (other curves a la BN, BLS24-X, BLS12-383 ...), integer protocols (ETRS), field extension machinery ...
- otherwise irrelevant changes, e.g. CI/CD
- some memory bug fixing

[Full Changeset](https://github.com/relic-toolkit/relic/compare/7a9bba7f..9206ae5)

**Fixed bugs:**

- Unexpected failure of ep2\_mul\[\_lwnaf\] above the prime group order [\onflow#64](relic-toolkit/relic#64)

**Closed issues:**

- Other way to construct towered extension fields [\onflow#203](relic-toolkit/relic#203)
- blake2.h:101:5: error: size of array element is not a multiple of its alignment [\onflow#202](relic-toolkit/relic#202)
- ECIES 160bit [\onflow#201](relic-toolkit/relic#201)
- Compilation with "ARITH gmp" fails [\onflow#200](relic-toolkit/relic#200)
- Support for armv8-a ? [\onflow#198](relic-toolkit/relic#198)
- Function name bn\_init conflicts with OpenSSL when used in tandem [\onflow#196](relic-toolkit/relic#196)
- 16-bit MSP430 [\onflow#193](relic-toolkit/relic#193)
- Modular exponentiation returns 1 if exponent is 0 and modulo is 1 [\onflow#185](relic-toolkit/relic#185)
- Compilation of RELIC with bls12-446 and bls12-455 fails [\onflow#182](relic-toolkit/relic#182)
- test\_bn fails with BLS12-381 preset [\onflow#181](relic-toolkit/relic#181)
- \[BUG\] undefined reference to `bench_init', `bench\_clean' [\onflow#180](relic-toolkit/relic#180)
- Tests FTBFS because of missing symbol in header [\onflow#179](relic-toolkit/relic#179)
- Builds are broken [\onflow#178](relic-toolkit/relic#178)
- compile error  inlining failed in call to always\_inline ‘\_mm\_alignr\_epi8’ on unbantu20.04 gcc9 [\onflow#177](relic-toolkit/relic#177)
- bn\_write\_str buffer overflow [\onflow#176](relic-toolkit/relic#176)
- ECDSA verify succeeds when it should fail [\onflow#175](relic-toolkit/relic#175)
- ec\_mul\_gen hangs with curve SECG\_K256 [\onflow#174](relic-toolkit/relic#174)
- Wrong square root computation [\onflow#173](relic-toolkit/relic#173)
- Out-of-bounds read via bn\_sqr\_basic [\onflow#172](relic-toolkit/relic#172)
- OSS-Fuzz integration [\onflow#171](relic-toolkit/relic#171)
- Building Relic with Curve NIST\_P256 throws FATAL ERROR in relic\_fp\_prime.c:120 [\onflow#170](relic-toolkit/relic#170)
- Compressing \(packing\) a point to binary array does not comply with X9.62 standard [\onflow#169](relic-toolkit/relic#169)
-  ‘ctx\_t’ {aka ‘struct \_ctx\_t’} has no member named ‘total’ [\onflow#168](relic-toolkit/relic#168)
- relic does not work with C++ [\onflow#167](relic-toolkit/relic#167)
- Memory leak in ep2\_curve\_init/clean with ALLOC=DYNAMIC [\onflow#166](relic-toolkit/relic#166)
- \*\_is\_valid\(\) functions produce false negative for not normalized points [\onflow#147](relic-toolkit/relic#147)
- Bench and Test doesnt build [\onflow#122](relic-toolkit/relic#122)

**Merged pull requests:**

- Add pairing delegation protocols [\onflow#199](relic-toolkit/relic#199) ([dfaranha](https://github.com/dfaranha))
- Fix support for Win64/MSVC targets. [\onflow#197](relic-toolkit/relic#197) ([dfaranha](https://github.com/dfaranha))
- Simplify generator getting for Gt. [\onflow#194](relic-toolkit/relic#194) ([luozejiaqun](https://github.com/luozejiaqun))
- cmake: Always use user defined CFLAGS, not only for release builds [\onflow#187](relic-toolkit/relic#187) ([xdustinface](https://github.com/xdustinface))
- Fix MinGW build [\onflow#186](relic-toolkit/relic#186) ([xdustinface](https://github.com/xdustinface))
- Remove debug printf in bn\_mxp\_slide [\onflow#184](relic-toolkit/relic#184) ([guidovranken](https://github.com/guidovranken))
- Remove ALLOC = STACK to simplify memory allocation. [\onflow#183](relic-toolkit/relic#183) ([dfaranha](https://github.com/dfaranha))
- Update relic\_alloc.h [\onflow#165](relic-toolkit/relic#165) ([aguycalled](https://github.com/aguycalled))
- Add correct support for FreeBSD and NetBSD [\onflow#164](relic-toolkit/relic#164) ([hoffmang9](https://github.com/hoffmang9))
huitseeker added a commit to huitseeker/flow-go that referenced this issue Jul 12, 2021
The diff contains:
- a lot of changes that concern parts of the library we don't use (other curves a la BN, BLS24-X, BLS12-383 ...), integer protocols (ETRS), field extension machinery ...
- otherwise irrelevant changes, e.g. CI/CD
- some memory bug fixing

[Full Changeset](https://github.com/relic-toolkit/relic/compare/7a9bba7f..9206ae5)

**Fixed bugs:**

- Unexpected failure of ep2\_mul\[\_lwnaf\] above the prime group order [\onflow#64](relic-toolkit/relic#64)

**Closed issues:**

- Other way to construct towered extension fields [\onflow#203](relic-toolkit/relic#203)
- blake2.h:101:5: error: size of array element is not a multiple of its alignment [\onflow#202](relic-toolkit/relic#202)
- ECIES 160bit [\onflow#201](relic-toolkit/relic#201)
- Compilation with "ARITH gmp" fails [\onflow#200](relic-toolkit/relic#200)
- Support for armv8-a ? [\onflow#198](relic-toolkit/relic#198)
- Function name bn\_init conflicts with OpenSSL when used in tandem [\onflow#196](relic-toolkit/relic#196)
- 16-bit MSP430 [\onflow#193](relic-toolkit/relic#193)
- Modular exponentiation returns 1 if exponent is 0 and modulo is 1 [\onflow#185](relic-toolkit/relic#185)
- Compilation of RELIC with bls12-446 and bls12-455 fails [\onflow#182](relic-toolkit/relic#182)
- test\_bn fails with BLS12-381 preset [\onflow#181](relic-toolkit/relic#181)
- \[BUG\] undefined reference to `bench_init', `bench\_clean' [\onflow#180](relic-toolkit/relic#180)
- Tests FTBFS because of missing symbol in header [\onflow#179](relic-toolkit/relic#179)
- Builds are broken [\onflow#178](relic-toolkit/relic#178)
- compile error  inlining failed in call to always\_inline ‘\_mm\_alignr\_epi8’ on unbantu20.04 gcc9 [\onflow#177](relic-toolkit/relic#177)
- bn\_write\_str buffer overflow [\onflow#176](relic-toolkit/relic#176)
- ECDSA verify succeeds when it should fail [\onflow#175](relic-toolkit/relic#175)
- ec\_mul\_gen hangs with curve SECG\_K256 [\onflow#174](relic-toolkit/relic#174)
- Wrong square root computation [\onflow#173](relic-toolkit/relic#173)
- Out-of-bounds read via bn\_sqr\_basic [\onflow#172](relic-toolkit/relic#172)
- OSS-Fuzz integration [\onflow#171](relic-toolkit/relic#171)
- Building Relic with Curve NIST\_P256 throws FATAL ERROR in relic\_fp\_prime.c:120 [\onflow#170](relic-toolkit/relic#170)
- Compressing \(packing\) a point to binary array does not comply with X9.62 standard [\onflow#169](relic-toolkit/relic#169)
-  ‘ctx\_t’ {aka ‘struct \_ctx\_t’} has no member named ‘total’ [\onflow#168](relic-toolkit/relic#168)
- relic does not work with C++ [\onflow#167](relic-toolkit/relic#167)
- Memory leak in ep2\_curve\_init/clean with ALLOC=DYNAMIC [\onflow#166](relic-toolkit/relic#166)
- \*\_is\_valid\(\) functions produce false negative for not normalized points [\onflow#147](relic-toolkit/relic#147)
- Bench and Test doesnt build [\onflow#122](relic-toolkit/relic#122)

**Merged pull requests:**

- Add pairing delegation protocols [\onflow#199](relic-toolkit/relic#199) ([dfaranha](https://github.com/dfaranha))
- Fix support for Win64/MSVC targets. [\onflow#197](relic-toolkit/relic#197) ([dfaranha](https://github.com/dfaranha))
- Simplify generator getting for Gt. [\onflow#194](relic-toolkit/relic#194) ([luozejiaqun](https://github.com/luozejiaqun))
- cmake: Always use user defined CFLAGS, not only for release builds [\onflow#187](relic-toolkit/relic#187) ([xdustinface](https://github.com/xdustinface))
- Fix MinGW build [\onflow#186](relic-toolkit/relic#186) ([xdustinface](https://github.com/xdustinface))
- Remove debug printf in bn\_mxp\_slide [\onflow#184](relic-toolkit/relic#184) ([guidovranken](https://github.com/guidovranken))
- Remove ALLOC = STACK to simplify memory allocation. [\onflow#183](relic-toolkit/relic#183) ([dfaranha](https://github.com/dfaranha))
- Update relic\_alloc.h [\onflow#165](relic-toolkit/relic#165) ([aguycalled](https://github.com/aguycalled))
- Add correct support for FreeBSD and NetBSD [\onflow#164](relic-toolkit/relic#164) ([hoffmang9](https://github.com/hoffmang9))
huitseeker added a commit to huitseeker/flow-go that referenced this issue Jul 13, 2021
The diff contains:
- a lot of changes that concern parts of the library we don't use (other curves a la BN, BLS24-X, BLS12-383 ...), integer protocols (ETRS), field extension machinery ...
- otherwise irrelevant changes, e.g. CI/CD
- some memory bug fixing

[Full Changeset](https://github.com/relic-toolkit/relic/compare/7a9bba7f..9206ae5)

**Fixed bugs:**

- Unexpected failure of ep2\_mul\[\_lwnaf\] above the prime group order [\onflow#64](relic-toolkit/relic#64)

**Closed issues:**

- Other way to construct towered extension fields [\onflow#203](relic-toolkit/relic#203)
- blake2.h:101:5: error: size of array element is not a multiple of its alignment [\onflow#202](relic-toolkit/relic#202)
- ECIES 160bit [\onflow#201](relic-toolkit/relic#201)
- Compilation with "ARITH gmp" fails [\onflow#200](relic-toolkit/relic#200)
- Support for armv8-a ? [\onflow#198](relic-toolkit/relic#198)
- Function name bn\_init conflicts with OpenSSL when used in tandem [\onflow#196](relic-toolkit/relic#196)
- 16-bit MSP430 [\onflow#193](relic-toolkit/relic#193)
- Modular exponentiation returns 1 if exponent is 0 and modulo is 1 [\onflow#185](relic-toolkit/relic#185)
- Compilation of RELIC with bls12-446 and bls12-455 fails [\onflow#182](relic-toolkit/relic#182)
- test\_bn fails with BLS12-381 preset [\onflow#181](relic-toolkit/relic#181)
- \[BUG\] undefined reference to `bench_init', `bench\_clean' [\onflow#180](relic-toolkit/relic#180)
- Tests FTBFS because of missing symbol in header [\onflow#179](relic-toolkit/relic#179)
- Builds are broken [\onflow#178](relic-toolkit/relic#178)
- compile error  inlining failed in call to always\_inline ‘\_mm\_alignr\_epi8’ on unbantu20.04 gcc9 [\onflow#177](relic-toolkit/relic#177)
- bn\_write\_str buffer overflow [\onflow#176](relic-toolkit/relic#176)
- ECDSA verify succeeds when it should fail [\onflow#175](relic-toolkit/relic#175)
- ec\_mul\_gen hangs with curve SECG\_K256 [\onflow#174](relic-toolkit/relic#174)
- Wrong square root computation [\onflow#173](relic-toolkit/relic#173)
- Out-of-bounds read via bn\_sqr\_basic [\onflow#172](relic-toolkit/relic#172)
- OSS-Fuzz integration [\onflow#171](relic-toolkit/relic#171)
- Building Relic with Curve NIST\_P256 throws FATAL ERROR in relic\_fp\_prime.c:120 [\onflow#170](relic-toolkit/relic#170)
- Compressing \(packing\) a point to binary array does not comply with X9.62 standard [\onflow#169](relic-toolkit/relic#169)
-  ‘ctx\_t’ {aka ‘struct \_ctx\_t’} has no member named ‘total’ [\onflow#168](relic-toolkit/relic#168)
- relic does not work with C++ [\onflow#167](relic-toolkit/relic#167)
- Memory leak in ep2\_curve\_init/clean with ALLOC=DYNAMIC [\onflow#166](relic-toolkit/relic#166)
- \*\_is\_valid\(\) functions produce false negative for not normalized points [\onflow#147](relic-toolkit/relic#147)
- Bench and Test doesnt build [\onflow#122](relic-toolkit/relic#122)

**Merged pull requests:**

- Add pairing delegation protocols [\onflow#199](relic-toolkit/relic#199) ([dfaranha](https://github.com/dfaranha))
- Fix support for Win64/MSVC targets. [\onflow#197](relic-toolkit/relic#197) ([dfaranha](https://github.com/dfaranha))
- Simplify generator getting for Gt. [\onflow#194](relic-toolkit/relic#194) ([luozejiaqun](https://github.com/luozejiaqun))
- cmake: Always use user defined CFLAGS, not only for release builds [\onflow#187](relic-toolkit/relic#187) ([xdustinface](https://github.com/xdustinface))
- Fix MinGW build [\onflow#186](relic-toolkit/relic#186) ([xdustinface](https://github.com/xdustinface))
- Remove debug printf in bn\_mxp\_slide [\onflow#184](relic-toolkit/relic#184) ([guidovranken](https://github.com/guidovranken))
- Remove ALLOC = STACK to simplify memory allocation. [\onflow#183](relic-toolkit/relic#183) ([dfaranha](https://github.com/dfaranha))
- Update relic\_alloc.h [\onflow#165](relic-toolkit/relic#165) ([aguycalled](https://github.com/aguycalled))
- Add correct support for FreeBSD and NetBSD [\onflow#164](relic-toolkit/relic#164) ([hoffmang9](https://github.com/hoffmang9))
huitseeker added a commit to huitseeker/flow-go that referenced this issue Jul 13, 2021
The diff contains:
- a lot of changes that concern parts of the library we don't use (other curves a la BN, BLS24-X, BLS12-383 ...), integer protocols (ETRS), field extension machinery ...
- otherwise irrelevant changes, e.g. CI/CD
- some memory bug fixing

[Full Changeset](https://github.com/relic-toolkit/relic/compare/7a9bba7f..9206ae5)

**Fixed bugs:**

- Unexpected failure of ep2\_mul\[\_lwnaf\] above the prime group order [\onflow#64](relic-toolkit/relic#64)

**Closed issues:**

- Other way to construct towered extension fields [\onflow#203](relic-toolkit/relic#203)
- blake2.h:101:5: error: size of array element is not a multiple of its alignment [\onflow#202](relic-toolkit/relic#202)
- ECIES 160bit [\onflow#201](relic-toolkit/relic#201)
- Compilation with "ARITH gmp" fails [\onflow#200](relic-toolkit/relic#200)
- Support for armv8-a ? [\onflow#198](relic-toolkit/relic#198)
- Function name bn\_init conflicts with OpenSSL when used in tandem [\onflow#196](relic-toolkit/relic#196)
- 16-bit MSP430 [\onflow#193](relic-toolkit/relic#193)
- Modular exponentiation returns 1 if exponent is 0 and modulo is 1 [\onflow#185](relic-toolkit/relic#185)
- Compilation of RELIC with bls12-446 and bls12-455 fails [\onflow#182](relic-toolkit/relic#182)
- test\_bn fails with BLS12-381 preset [\onflow#181](relic-toolkit/relic#181)
- \[BUG\] undefined reference to `bench_init', `bench\_clean' [\onflow#180](relic-toolkit/relic#180)
- Tests FTBFS because of missing symbol in header [\onflow#179](relic-toolkit/relic#179)
- Builds are broken [\onflow#178](relic-toolkit/relic#178)
- compile error  inlining failed in call to always\_inline ‘\_mm\_alignr\_epi8’ on unbantu20.04 gcc9 [\onflow#177](relic-toolkit/relic#177)
- bn\_write\_str buffer overflow [\onflow#176](relic-toolkit/relic#176)
- ECDSA verify succeeds when it should fail [\onflow#175](relic-toolkit/relic#175)
- ec\_mul\_gen hangs with curve SECG\_K256 [\onflow#174](relic-toolkit/relic#174)
- Wrong square root computation [\onflow#173](relic-toolkit/relic#173)
- Out-of-bounds read via bn\_sqr\_basic [\onflow#172](relic-toolkit/relic#172)
- OSS-Fuzz integration [\onflow#171](relic-toolkit/relic#171)
- Building Relic with Curve NIST\_P256 throws FATAL ERROR in relic\_fp\_prime.c:120 [\onflow#170](relic-toolkit/relic#170)
- Compressing \(packing\) a point to binary array does not comply with X9.62 standard [\onflow#169](relic-toolkit/relic#169)
-  ‘ctx\_t’ {aka ‘struct \_ctx\_t’} has no member named ‘total’ [\onflow#168](relic-toolkit/relic#168)
- relic does not work with C++ [\onflow#167](relic-toolkit/relic#167)
- Memory leak in ep2\_curve\_init/clean with ALLOC=DYNAMIC [\onflow#166](relic-toolkit/relic#166)
- \*\_is\_valid\(\) functions produce false negative for not normalized points [\onflow#147](relic-toolkit/relic#147)
- Bench and Test doesnt build [\onflow#122](relic-toolkit/relic#122)

**Merged pull requests:**

- Add pairing delegation protocols [\onflow#199](relic-toolkit/relic#199) ([dfaranha](https://github.com/dfaranha))
- Fix support for Win64/MSVC targets. [\onflow#197](relic-toolkit/relic#197) ([dfaranha](https://github.com/dfaranha))
- Simplify generator getting for Gt. [\onflow#194](relic-toolkit/relic#194) ([luozejiaqun](https://github.com/luozejiaqun))
- cmake: Always use user defined CFLAGS, not only for release builds [\onflow#187](relic-toolkit/relic#187) ([xdustinface](https://github.com/xdustinface))
- Fix MinGW build [\onflow#186](relic-toolkit/relic#186) ([xdustinface](https://github.com/xdustinface))
- Remove debug printf in bn\_mxp\_slide [\onflow#184](relic-toolkit/relic#184) ([guidovranken](https://github.com/guidovranken))
- Remove ALLOC = STACK to simplify memory allocation. [\onflow#183](relic-toolkit/relic#183) ([dfaranha](https://github.com/dfaranha))
- Update relic\_alloc.h [\onflow#165](relic-toolkit/relic#165) ([aguycalled](https://github.com/aguycalled))
- Add correct support for FreeBSD and NetBSD [\onflow#164](relic-toolkit/relic#164) ([hoffmang9](https://github.com/hoffmang9))
tarakby pushed a commit to onflow/crypto that referenced this issue Dec 8, 2023
The diff contains:
- a lot of changes that concern parts of the library we don't use (other curves a la BN, BLS24-X, BLS12-383 ...), integer protocols (ETRS), field extension machinery ...
- otherwise irrelevant changes, e.g. CI/CD
- some memory bug fixing

[Full Changeset](https://github.com/relic-toolkit/relic/compare/7a9bba7f..9206ae5)

**Fixed bugs:**

- Unexpected failure of ep2\_mul\[\_lwnaf\] above the prime group order [\#64](relic-toolkit/relic#64)

**Closed issues:**

- Other way to construct towered extension fields [\#203](relic-toolkit/relic#203)
- blake2.h:101:5: error: size of array element is not a multiple of its alignment [\#202](relic-toolkit/relic#202)
- ECIES 160bit [\#201](relic-toolkit/relic#201)
- Compilation with "ARITH gmp" fails [\#200](relic-toolkit/relic#200)
- Support for armv8-a ? [\#198](relic-toolkit/relic#198)
- Function name bn\_init conflicts with OpenSSL when used in tandem [\#196](relic-toolkit/relic#196)
- 16-bit MSP430 [\#193](relic-toolkit/relic#193)
- Modular exponentiation returns 1 if exponent is 0 and modulo is 1 [\#185](relic-toolkit/relic#185)
- Compilation of RELIC with bls12-446 and bls12-455 fails [\#182](relic-toolkit/relic#182)
- test\_bn fails with BLS12-381 preset [\#181](relic-toolkit/relic#181)
- \[BUG\] undefined reference to `bench_init', `bench\_clean' [\#180](relic-toolkit/relic#180)
- Tests FTBFS because of missing symbol in header [\#179](relic-toolkit/relic#179)
- Builds are broken [\#178](relic-toolkit/relic#178)
- compile error  inlining failed in call to always\_inline ‘\_mm\_alignr\_epi8’ on unbantu20.04 gcc9 [\#177](relic-toolkit/relic#177)
- bn\_write\_str buffer overflow [\#176](relic-toolkit/relic#176)
- ECDSA verify succeeds when it should fail [\#175](relic-toolkit/relic#175)
- ec\_mul\_gen hangs with curve SECG\_K256 [\#174](relic-toolkit/relic#174)
- Wrong square root computation [\#173](relic-toolkit/relic#173)
- Out-of-bounds read via bn\_sqr\_basic [\#172](relic-toolkit/relic#172)
- OSS-Fuzz integration [\#171](relic-toolkit/relic#171)
- Building Relic with Curve NIST\_P256 throws FATAL ERROR in relic\_fp\_prime.c:120 [\#170](relic-toolkit/relic#170)
- Compressing \(packing\) a point to binary array does not comply with X9.62 standard [\#169](relic-toolkit/relic#169)
-  ‘ctx\_t’ {aka ‘struct \_ctx\_t’} has no member named ‘total’ [\#168](relic-toolkit/relic#168)
- relic does not work with C++ [\#167](relic-toolkit/relic#167)
- Memory leak in ep2\_curve\_init/clean with ALLOC=DYNAMIC [\#166](relic-toolkit/relic#166)
- \*\_is\_valid\(\) functions produce false negative for not normalized points [\#147](relic-toolkit/relic#147)
- Bench and Test doesnt build [\#122](relic-toolkit/relic#122)

**Merged pull requests:**

- Add pairing delegation protocols [\#199](relic-toolkit/relic#199) ([dfaranha](https://github.com/dfaranha))
- Fix support for Win64/MSVC targets. [\#197](relic-toolkit/relic#197) ([dfaranha](https://github.com/dfaranha))
- Simplify generator getting for Gt. [\#194](relic-toolkit/relic#194) ([luozejiaqun](https://github.com/luozejiaqun))
- cmake: Always use user defined CFLAGS, not only for release builds [\#187](relic-toolkit/relic#187) ([xdustinface](https://github.com/xdustinface))
- Fix MinGW build [\#186](relic-toolkit/relic#186) ([xdustinface](https://github.com/xdustinface))
- Remove debug printf in bn\_mxp\_slide [\#184](relic-toolkit/relic#184) ([guidovranken](https://github.com/guidovranken))
- Remove ALLOC = STACK to simplify memory allocation. [\#183](relic-toolkit/relic#183) ([dfaranha](https://github.com/dfaranha))
- Update relic\_alloc.h [\#165](relic-toolkit/relic#165) ([aguycalled](https://github.com/aguycalled))
- Add correct support for FreeBSD and NetBSD [\#164](relic-toolkit/relic#164) ([hoffmang9](https://github.com/hoffmang9))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants