简体   繁体   中英

Problems building OpenSSL 1.1.1c using gcc version 4.3.3

I'm trying to compile the OpenSSL 1.1.1c project in a toolchain which uses gcc 4.3.3 After finishing the configurations and issuing make the following error messages are shown:

crypto/sha/keccak1600-armv4.S: Assembler messages:
crypto/sha/keccak1600-armv4.S:2203: Error: ']' expected -- `vst1.64 {q4},[r0:64]'
crypto/sha/keccak1600-armv4.S:2205: Error: ']' expected -- `vst1.64 {d18},[r1:64]'
crypto/sha/keccak1600-armv4.S:2248: Error: ']' expected -- `vld1.64 {q4},[r0:64]'
crypto/sha/keccak1600-armv4.S:2251: Error: ']' expected -- `vld1.64 {d18},[r1:64]'
crypto/sha/keccak1600-armv4.S:2326: Error: ']' expected -- `vst1.64 {q13},[r0:64]'
crypto/sha/keccak1600-armv4.S:2347: Error: ']' expected -- `vld1.64 d25,[r2:64]!'
...

I assume the problem is because of the low version of gcc which I am using. I didn't find any explanations about the minimum required gcc version in the OpenSSL Wiki .

How can I solve this error?

Is the problem from the gcc version?

Looks like the assembler was unable to recognize this syntax.

After taking a look at other generated assembly files in the OpenSSL project, I found some lines of assembly code which were written in the same syntax with an additional comma(,) before the colons(:). So I went back to the main code and after changing the pointed lines by adding a comma before the colons, I had been able to get a successful build. I checked this change to see if it doesn't result in any misbehaves at the following link: https://stackoverflow.com/a/57317021/6826476

I have also made a pull request to get a confirmation from the OpenSSL community and it got accepted: https://github.com/openssl/openssl/pull/9518#pullrequestreview-274502366

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM