diff options
author | Andreas Metzler <ametzler@bebt.de> | 2019-09-28 14:28:12 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2019-09-28 21:19:29 +0200 |
commit | 56b333df895475b202780add2e873c7cf5ade0d3 (patch) | |
tree | e8653c6900d6f49a2b1f1d825080fa7ed9ca445b /cfg.mk | |
parent | 477d44b3a3afffd05b275b9d40e4e66c6b55d68c (diff) | |
download | gnutls-56b333df895475b202780add2e873c7cf5ade0d3.tar.gz |
Regenerate asm files with -fPIC
CRYPTOGAMS' perl-scripts can produce different output if -fPIC is passed
as option. Set -fPIC for the same files as openssl does.
Closes #818
Signed-off-by: Andreas Metzler <ametzler@bebt.de>
Diffstat (limited to 'cfg.mk')
-rw-r--r-- | cfg.mk | 30 |
1 files changed, 24 insertions, 6 deletions
@@ -143,6 +143,12 @@ ASM_SOURCES_XXX := \ lib/accelerated/x86/XXX/aes-ssse3-x86.s \ lib/accelerated/x86/XXX/aes-ssse3-x86_64.s +# CRYPTOGAMS' perl-scripts can produce different output if -fPIC +# is passed as option. List the files that seem to need it: +PL_NEEDS_FPIC := aesni-x86.pl aes-ssse3-x86.pl e_padlock-x86.pl \ + ghash-x86.pl sha1-ssse3-x86.pl sha256-ssse3-x86.pl \ + sha512-ssse3-x86.pl + ASM_SOURCES_ELF := $(subst XXX,elf,$(ASM_SOURCES_XXX)) ASM_SOURCES_COFF := $(subst XXX,coff,$(ASM_SOURCES_XXX)) ASM_SOURCES_MACOSX := $(subst XXX,macosx,$(ASM_SOURCES_XXX)) @@ -193,33 +199,43 @@ lib/accelerated/x86/files.mk: $(ASM_SOURCES_ELF) # Appro's code lib/accelerated/x86/elf/%.s: devel/perlasm/%.pl .submodule.stamp - CC=gcc perl $< elf $@.tmp + CC=gcc perl $< elf \ + $(if $(findstring $(<F),$(PL_NEEDS_FPIC)),-fPIC) \ + $@.tmp cat $<.license $@.tmp > $@ && rm -f $@.tmp echo "" >> $@ echo ".section .note.GNU-stack,\"\",%progbits" >> $@ sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ lib/accelerated/x86/coff/%-x86.s: devel/perlasm/%-x86.pl .submodule.stamp - CC=gcc perl $< coff $@.tmp + CC=gcc perl $< coff \ + $(if $(findstring $(<F),$(PL_NEEDS_FPIC)),-fPIC) \ + $@.tmp cat $<.license $@.tmp > $@ && rm -f $@.tmp echo "" >> $@ sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ lib/accelerated/x86/coff/%-x86_64.s: devel/perlasm/%-x86_64.pl .submodule.stamp - CC=gcc perl $< mingw64 $@.tmp + CC=gcc perl $< mingw64 \ + $(if $(findstring $(<F),$(PL_NEEDS_FPIC)),-fPIC) \ + $@.tmp cat $<.license $@.tmp > $@ && rm -f $@.tmp echo "" >> $@ sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ lib/accelerated/x86/macosx/%.s: devel/perlasm/%.pl .submodule.stamp - CC=gcc perl $< macosx $@.tmp + CC=gcc perl $< macosx \ + $(if $(findstring $(<F),$(PL_NEEDS_FPIC)),-fPIC) \ + $@.tmp cat $<.license $@.tmp > $@ && rm -f $@.tmp echo "" >> $@ sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ lib/accelerated/aarch64/elf/%.s: devel/perlasm/%.pl .submodule.stamp rm -f $@tmp - CC=aarch64-linux-gnu-gcc perl $< linux64 $@.tmp + CC=aarch64-linux-gnu-gcc perl $< linux64 \ + $(if $(findstring $(<F),$(PL_NEEDS_FPIC)),-fPIC) \ + $@.tmp cat $@.tmp | /usr/bin/perl -ne '/^#(line)?\s*[0-9]+/ or print' > $@.tmp.S echo "" >> $@.tmp.S sed -i 's/OPENSSL_armcap_P/_gnutls_arm_cpuid_s/g' $@.tmp.S @@ -231,7 +247,9 @@ lib/accelerated/aarch64/elf/%.s: devel/perlasm/%.pl .submodule.stamp lib/accelerated/aarch64/macosx/%.s: devel/perlasm/%.pl .submodule.stamp rm -f $@tmp - CC=aarch64-linux-gnu-gcc perl $< ios64 $@.tmp + CC=aarch64-linux-gnu-gcc perl $< ios64 \ + $(if $(findstring $(<F),$(PL_NEEDS_FPIC)),-fPIC) \ + $@.tmp cat $@.tmp | /usr/bin/perl -ne '/^#(line)?\s*[0-9]+/ or print' > $@.tmp.S echo "" >> $@.tmp.S sed -i 's/OPENSSL_armcap_P/_gnutls_arm_cpuid_s/g' $@.tmp.S |