X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=lib%2Fopenssl%2Fms%2Fuplink-x86.pl;h=e25668ea35d1c8a0a123aea1b6f81185e9c3b175;hb=02ed66432c92de70694700164f986190aad3cbc5;hp=0dffc14fcd2ead24fc4c110b928ac17cc3c4b18f;hpb=89016837dcbf2775cd15dc8cbaba00dc6379f86e;p=cassiopeia.git diff --git a/lib/openssl/ms/uplink-x86.pl b/lib/openssl/ms/uplink-x86.pl index 0dffc14..e25668e 100755 --- a/lib/openssl/ms/uplink-x86.pl +++ b/lib/openssl/ms/uplink-x86.pl @@ -1,4 +1,10 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl +# Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; push(@INC, "${dir}.", "${dir}../crypto/perlasm"); @@ -6,6 +12,9 @@ require "x86asm.pl"; require "uplink-common.pl"; +$output = pop; +open STDOUT,">$output"; + &asm_init($ARGV[0],"uplink-x86"); &external_label("OPENSSL_Uplink"); @@ -14,11 +23,11 @@ require "uplink-common.pl"; for ($i=1;$i<=$N;$i++) { &function_begin_B("_\$lazy${i}"); &lea ("eax",&DWP(&label("OPENSSL_UplinkTable"))); - &push ("eax"); &push ($i); + &push ("eax"); &call (&label("OPENSSL_Uplink")); - &add ("esp",8); &pop ("eax"); + &add ("esp",4); &jmp_ptr(&DWP(4*$i,"eax")); &function_end_B("_\$lazy${i}"); } @@ -31,3 +40,5 @@ for ($i=1;$i<=$N;$i++) { &data_word(&label("_\$lazy${i}")); } &asm_finish(); + +close OUTPUT;