diff -rauN gnutls-3.6.9/cfg.mk gnutls-3.6.9-nonPIC-assembly-patch/cfg.mk --- gnutls-3.6.9/cfg.mk 2019-06-28 21:06:07.000000000 +0200 +++ gnutls-3.6.9-nonPIC-assembly-patch/cfg.mk 2019-08-18 08:55:44.846119790 +0200 @@ -143,6 +143,8 @@ lib/accelerated/x86/XXX/aes-ssse3-x86.s \ lib/accelerated/x86/XXX/aes-ssse3-x86_64.s +PL_NEEDS_FPIC := aesni-x86.s + 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,7 +195,9 @@ # 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" >> $@ diff -rauN gnutls-3.6.9/lib/accelerated/x86/elf/aesni-x86.s gnutls-3.6.9-nonPIC-assembly-patch/lib/accelerated/x86/elf/aesni-x86.s --- gnutls-3.6.9/lib/accelerated/x86/elf/aesni-x86.s 2019-06-28 21:06:07.000000000 +0200 +++ gnutls-3.6.9-nonPIC-assembly-patch/lib/accelerated/x86/elf/aesni-x86.s 2019-08-18 17:36:49.498546884 +0200 @@ -2892,7 +2892,7 @@ .L112pic: popl %ebx leal .Lkey_const-.L112pic(%ebx),%ebx - leal _gnutls_x86_cpuid_s,%ebp + leal _gnutls_x86_cpuid_s-.Lkey_const(%ebx),%ebp movups (%eax),%xmm0 xorps %xmm4,%xmm4 movl 4(%ebp),%ebp