The below diff was obtained by looking at the diff between our x86gas.pl
and what openssl have. It is basically libcrypto/perlasm/x86gas.pl -r1.5.

With this diff, borgbackup/2.0 builds and passes regress on i386,
openssl/1.1 regress also passes (modulo known shlibload test breakage).

Index: Makefile
===================================================================
RCS file: /cvs/ports/security/openssl/1.1/Makefile,v
retrieving revision 1.52
diff -u -p -r1.52 Makefile
--- Makefile    29 Jan 2023 07:38:26 -0000      1.52
+++ Makefile    31 Jan 2023 18:24:18 -0000
@@ -8,7 +8,7 @@ PORTROACH=      limit:^1\.1\.[0-9][a-z] skipb
 V=             1.1.1s
 PKGSPEC=       openssl->=1.1.0v0,<1.2v0
 EPOCH=         0
-REVISION=      6
+REVISION=      7
 
 SHLIBVER=      11.6
 SHARED_LIBS=   crypto ${SHLIBVER} \
Index: patches/patch-crypto_perlasm_x86gas_pl
===================================================================
RCS file: patches/patch-crypto_perlasm_x86gas_pl
diff -N patches/patch-crypto_perlasm_x86gas_pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-crypto_perlasm_x86gas_pl      31 Jan 2023 18:54:48 -0000
@@ -0,0 +1,16 @@
+Index: crypto/perlasm/x86gas.pl
+--- crypto/perlasm/x86gas.pl.orig
++++ crypto/perlasm/x86gas.pl
+@@ -166,10 +166,8 @@ sub ::file_end
+       }
+     }
+     if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out) {
+-      my $tmp=".comm\t${nmdecor}OPENSSL_ia32cap_P,16";
+-      if ($::macosx)  { push (@out,"$tmp,2\n"); }
+-      elsif ($::elf)  { push (@out,"$tmp,4\n"); }
+-      else            { push (@out,"$tmp\n"); }
++      push (@out, ".extern\t${nmdecor}OPENSSL_ia32cap_P\n");
++      push (@out, ".hidden\t${nmdecor}OPENSSL_ia32cap_P\n");
+     }
+     push(@out,$initseg) if ($initseg);
+ }

Reply via email to