• D
    Make x86_64-xlate.pl 'use strict' clean. · c25278db
    David Benjamin 提交于
    use strict would have caught a number of historical bugs in the perlasm
    code, some in the repository and some found during review. It even found
    a fresh masm-only bug (see below).
    
    This required some tweaks. The "single instance is enough" globals got
    switched to proper blessed objects rather than relying on symbolic refs.
    A few types need $opcode passed in as a result.
    
    The $$line thing is a little bit of a nuisance. There may be a clearer
    pattern to use instead.
    
    This even a bug in the masm code.
    9b634c9b added logic to make labels
    global or function-global based on whether something starts with a $,
    seemingly intended to capture the $decor setting of '$L$'. However, it
    references $ret which is not defined in label::out. label::out is always
    called after label::re, so $ret was always the label itself, so the line
    always ran.
    
    I've removed the regular expression so as not to change the behavior of
    the script. A number of the assembly files now routinely jump across
    functions, so this seems to be the desired behavior now.
    
    GH#1165
    Signed-off-by: NAndy Polyakov <appro@openssl.org>
    Reviewed-by: NRich Salz <rsalz@openssl.org>
    c25278db
x86_64-xlate.pl 35.5 KB