20160330.1413: Na így készül a source:
openssl-1.0.2g/crypto/md5$ make md5-x86_64.s
asm/md5-x86_64.pl > md5-x86_64.s
20160330.1724: Úgy látom, ezt a hibát 2009-ben már megoldották: https://rt.openssl.org/Ticket/Display.html?id=2094&user=guest&pass=guest
20160330.1843: Ha sikerülne is egyedi tákolással megfixálni a md5-öt, ugyanez a gond van a sha1-nél is. (Nyilván a sha2-nél is, csak még nem tartok ott.)
20160331.2030: Van egy komponens, ami az Assembly source-ön végez áldásos transzformációt: crypto/perlasm/x86_64-xlate.pl, valószínűleg azt is meg kellene bámulni.
20160401.1118: Most éppen nem tudom reprodukálni a hibát, de legalább azon örömködhetek ismét, hogy milyen verziószámot (és DT_SONAME)-t fejleszt ki az OpenSSL-1.0.2g önmagából, ha nem erőltetünk rá semmit:
$ readelf -d libssl.so
Tag Type Name/Value
0x000000000000000e (SONAME) Library soname: [libssl.so.1.0.0]
0x0000000000000001 (NEEDED) Shared library: [libcrypto.so.1.0.0]
Szóval a drága emberek szerint 1.0.0a és 1.0.2g között minden mindennel kompatibilis, ahogy kell. Hogy ez azért nem egészen így van, arról itt esett szó: http://hup.hu/node/146018
20160401.1219: ugyanez szelíd rábeszélés után:
$ readelf -d libssl.so.1.0.2.g
Tag Type Name/Value
0x000000000000000e (SONAME) Library soname: [libssl.so.1.0.2]
0x0000000000000001 (NEEDED) Shared library: [libcrypto.so.1.0.2]
Még azt is érdekes kérdes lehet, hogy hová települtek a pkgconfig *.pc fájljai...
Szerk: megkerültek, öröm boldogság... most ne nyúljunk hozzá 1.0.2h-ig...
20180917.1613 A jó hír az, hogy az 1.1.1-ben már nincs AS és ASFLAGS a Makefile-ban, hanem a gcc-re bízzák, hogy olyan Assemblert találjon, amilyet csak akar. Történetesen AIX5.3 esetén olyat talál, aminek az Altivec a távoli jövő ködös ígérete. Mondjuk abban igaza van, hogy a CPU nem tud AltiVec-et, de az OpenSSL valahogy úgy képzeli el, hogy lefordítja kétféleképpen (vektorosan és simán), aztán futáskor választja ki, hogy melyik legyen.
20180917.1634 A következő rendkívül tudományos script segít:
#!/bin/sh
f_asm=0
for i; do
d_arg=$(dirname -- "$i")
b_arg=$(basename -- "$i" .s)
if [ "$d_arg/$b_arg.s" = "$i" ]; then
echo "Nebassz, assembly: $d_arg/$b_arg.s"
src_asm="$d_arg/$b_arg.s"
obj_asm="$d_arg/$b_arg.o"
f_asm=1
fi
done
if [ $f_asm -eq 0 ]; then
set -x
exec gcc "$@"
else
set -x
exec /usr/local/bin/gas -a64 -mpower5 -o "$obj_asm" "$src_asm"
fi
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 1020 megtekintés
Hozzászólások
Note to self: ki kellene próbálni, hogy az as(1) -J opciója segít-e valamit.
Edit: eltaláltad, nem segít. A binutils-2.25/gas/tc-i386.c:i386_finalize_displacement generálja a hibaüzenetet, nem látszik benne olyan elágazás, hogy ne legyen belőle hiba.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni