It's pretty old code and I assume it was simply copied from compiler
output. I write "assume" because it was contributed. It might have been
bug/feature in early gcc. One can see .size 24 in
gcc-4.8.1/gcc/config/rs6000/rs6000.c, which is now guarded by "if
(DOT_SYMBOLS)", where DOT_SYMBOLS appears to be true if you pass
-mcall-aixdesc. "aixdesc" might have been default...
The size field in the function descriptor actually refers
to the function size not the size of the function descriptor.
Remove it, otherwise all functions created with this macro
end up having length 24:
Num:Value Size TypeBind Vis Ndx Name
1094: 0025bd3824 FUNCGLOBAL DEFAULT 20 AES_encrypt
2565: 0025bd5024 FUNCGLOBAL DEFAULT 20 AES_decrypt
--
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
index a3edd98..704983b 100755
--- a/crypto/perlasm/ppc-xlate.pl
+++ b/crypto/perlasm/ppc-xlate.pl
@@ -37,7 +37,6 @@ my $globl = sub {
$ret .= ".align3\n";
$ret .= "$name:\n";
$ret .= ".quad .$name,.TOC.\@tocbase,0\n";
- $ret .= ".size $name,24\n";
$ret .= ".previous\n";
Well, just omitting the .size doesn't make much sense. I mean if you
omit it, then size would be 0, which would be hardly more useful/helpful
than 24, wouldn't it?
http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=d6019e165497962a0751469441c680aa17349668
__
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]