Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: openssl/util/mksdef.pl

Issue 9254031: Upgrade chrome's OpenSSL to same version Android ships with. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/openssl/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « openssl/util/mkrc.pl ('k') | openssl/util/mkstack.pl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1
2 # Perl script to split libeay32.def into two distinct DEF files for use in
3 # fipdso mode. It works out symbols in each case by running "link" command and
4 # parsing the output to find the list of missing symbols then splitting
5 # libeay32.def based on the result.
6
7
8 # Get list of unknown symbols
9
10 my @deferr = `link @ARGV`;
11
12 my $preamble = "";
13 my @fipsdll;
14 my @fipsrest;
15 my %nosym;
16
17 # Add symbols to a hash for easy lookup
18
19 foreach (@deferr)
20 {
21 if (/^.*symbol (\S+)$/)
22 {
23 $nosym{$1} = 1;
24 }
25 }
26
27 open (IN, "ms/libeay32.def") || die "Can't Open DEF file for spliting";
28
29 my $started = 0;
30
31 # Parse libeay32.def into two arrays depending on whether the symbol matches
32 # the missing list.
33
34
35 foreach (<IN>)
36 {
37 if (/^\s*(\S+)\s*(\@\S+)\s*$/)
38 {
39 $started = 1;
40 if (exists $nosym{$1})
41 {
42 push @fipsrest, $_;
43 }
44 else
45 {
46 my $imptmp = sprintf " %-39s %s\n",
47 "$1=libosslfips.$1", $2;
48 push @fipsrest, $imptmp;
49 push @fipsdll, "\t$1\n";
50 }
51 }
52 $preamble .= $_ unless $started;
53 }
54
55 close IN;
56
57 # Hack! Add some additional exports needed for libcryptofips.dll
58 #
59
60 push @fipsdll, "\tOPENSSL_showfatal\n";
61 push @fipsdll, "\tOPENSSL_cpuid_setup\n";
62
63 # Write out DEF files for each array
64
65 write_def("ms/libosslfips.def", "LIBOSSLFIPS", $preamble, \@fipsdll);
66 write_def("ms/libeayfips.def", "", $preamble, \@fipsrest);
67
68
69 sub write_def
70 {
71 my ($fnam, $defname, $preamble, $rdefs) = @_;
72 open (OUT, ">$fnam") || die "Can't Open DEF file $fnam for Writing\n";
73
74 if ($defname ne "")
75 {
76 $preamble =~ s/LIBEAY32/$defname/g;
77 $preamble =~ s/LIBEAY/$defname/g;
78 }
79 print OUT $preamble;
80 foreach (@$rdefs)
81 {
82 print OUT $_;
83 }
84 close OUT;
85 }
86
87
OLDNEW
« no previous file with comments | « openssl/util/mkrc.pl ('k') | openssl/util/mkstack.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698