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 Type Bind Vis Ndx Name
1094: 000000000025bd38 24 FUNC GLOBAL DEFAULT 20 AES_encrypt
2565: 000000000025bd50 24 FUNC GLOBAL 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 .= ".align 3\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 openssl-dev@openssl.org
Automated List Manager majord...@openssl.org