#63847 closed defect (fixed)
openssl @3 cannot build on PPC Tiger, Mac OS X 10.4.11, because assembler does not understand the code
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | evanmiller (Evan Miller) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | tiger | Cc: | larryv (Lawrence Velázquez), cal@…, evanmiller (Evan Miller), Gcenx |
Port: | openssl |
Description
CC="/opt/local/bin/gcc-apple-4.2" /opt/local/bin/perl5 crypto/aes/asm/aesp8-ppc.pl "osx32" -I. -Iinclude -Iproviders/common/include -Iproviders/implementations/include -fPIC -fno-common -arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL -pipe -Os -arch ppc -DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/opt/local/libexec/openssl3/etc/openssl\"" -DENGINESDIR="\"/opt/local/libexec/openssl3/lib/engines-3\"" -DMODULESDIR="\"/opt/local/libexec/openssl3/lib/ossl-modules\"" -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -DAES_ASM -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM crypto/aes/aesp8-ppc.s /opt/local/bin/gcc-apple-4.2 -fPIC -fno-common -arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL -pipe -Os -arch ppc -DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/opt/local/libexec/openssl3/etc/openssl\"" -DENGINESDIR="\"/opt/local/libexec/openssl3/lib/engines-3\"" -DMODULESDIR="\"/opt/local/libexec/openssl3/lib/ossl-modules\"" -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -c -o crypto/aes/libcrypto-lib-aesp8-ppc.o crypto/aes/aesp8-ppc.s crypto/aes/aesp8-ppc.s:68:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:83:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:103:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:120:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:133:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:148:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:153:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:181:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:191:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:207:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:224:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:235:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:249:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:272:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:381:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:388:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:391:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:448:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:455:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:458:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:498:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:545:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:594:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:603:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:609:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:616:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:619:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:1219:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:1241:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:1287:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:1300:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:1842:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:1915:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2002:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2004:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2058:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2132:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2254:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2256:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2782:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:2784:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:3470:Parameter syntax error (parameter 1) crypto/aes/aesp8-ppc.s:3472:Parameter syntax error (parameter 1) make[1]: *** [crypto/aes/libcrypto-lib-aesp8-ppc.o] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_openssl3/openssl3/work/openssl-3.0.0' make: *** [build_sw] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_openssl3/openssl3/work/openssl-3.0.0' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_openssl3/openssl3/work/openssl-3.0.0" && /usr/bin/make -j1 -w all
Attachments (1)
Change History (11)
Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 follow-up: 4 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | evanmiller Gcenx added |
---|
FYI, Dean has an open PR to fix 32-bit Intel builds. I'm not sure whether that would be applicable here, but certainly can't hurt:
comment:2 Changed 3 years ago by evanmiller (Evan Miller)
Tiger ships with an old assembler and AFAIK there is not a drop-in replacement available. It's possible the syntax fix is an easy one, but someone will need to dig into it. (I don't think the atomic lock stuff is relevant here.)
comment:3 Changed 3 years ago by silicontrip (Mark Heath)
This error also occurs on Leopard (10.5.8)
comment:4 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to mascguy:
Is it possible to download something else than garbage? That's how patch
describe the downloaded files.
comment:5 follow-up: 7 Changed 3 years ago by jmroot (Joshua Root)
What are you downloading and how?
comment:6 Changed 3 years ago by evanmiller (Evan Miller)
OpenSSL is generating broken PPC assembler code, with invalid instructions such as:
vsel 0,0,0,0
I have not verified but I believe the bug was introduced in this commit:
https://github.com/openssl/openssl/commit/77112270593c4c51631e9138174f6657096399e9
It looks like the vsr2vr1
function is expecting an integer register name but on OSX the register names are prefixed with a v
.
comment:7 Changed 3 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jmroot:
I am trying to download the two patch sets, the one for Portfile
and the other for source code files.
comment:8 Changed 3 years ago by evanmiller (Evan Miller)
Upstream bug report: https://github.com/openssl/openssl/issues/16995
MacPorts PR: https://github.com/macports/macports-ports/pull/12867
comment:9 Changed 3 years ago by evanmiller (Evan Miller)
Owner: | set to evanmiller |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Main.log from PPC Tiger, Mac OS X 10.4.11