Print this page
OS-5558 libmd should leverage SHA extensions
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/lib/libmd/amd64/Makefile
+++ new/usr/src/lib/libmd/amd64/Makefile
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
23 23 # Copyright 2013 Saso Kiselkov. All rights reserved.
24 24 #
25 25
26 26 LIBRARY = libmd.a
|
↓ open down ↓ |
26 lines elided |
↑ open up ↑ |
27 27 VERS = .1
28 28
29 29 OBJECTS = edonr.o md4.o md5.o sha1.o sha2.o \
30 30 skein.o skein_block.o skein_iv.o
31 31
32 32 include $(SRC)/lib/Makefile.lib
33 33 include $(SRC)/lib/Makefile.rootfs
34 34 include $(SRC)/lib/Makefile.lib.64
35 35 include ../Makefile.com
36 36
37 +CAPFILES = pics/sha1-ni.o \
38 + pics/sha256-ni.o
39 +
37 40 EXTPICS = pics/md5_amd64.o \
38 - pics/sha1-x86_64.o \
39 41 pics/sha512-x86_64.o \
40 - pics/sha256-x86_64.o
42 + pics/sha256-x86_64.o \
43 + pics/sha1-x86_64.o \
44 + $(CAPFILES:%.o=%.o.symcap)
41 45
42 46 CLEANFILES += $(EXTPICS) \
43 - $(EXTPICS:pics/%.o=%.s)
47 + $(EXTPICS:pics/%.o=%.s) \
48 + $(CAPFILES) \
49 + $(CAPFILES:%.o=%.o.objcap) \
50 + $(CAPFILES:%.o=%.o.symcap)
44 51
52 +pics/sha1-ni.o.objcap := CAPFILE = capabilities/sha.cap
53 +pics/sha256-ni.o.objcap := CAPFILE = capabilities/sha.cap
54 +
45 55 # This prevents <sys/asm_linkage.h> from including C source:
46 56 AS_CPPFLAGS += -D_ASM
47 57
48 58 .KEPP_STATE:
49 59
50 60 all: $(LIBS)
51 61
52 62 install: all $(ROOTLIBS64) $(ROOTLINKS64) $(ROOTLINT64)
53 63
54 64 lint: lintcheck
55 65
56 66 pics/%.o: %.s
57 67 $(COMPILE.s) -o $@ ${@F:.o=.s}
58 68 $(POST_PROCESS_O)
59 69
70 +pics/%.o: $(SRC)/common/crypto/sha1/amd64/%.s
71 + $(COMPILE.s) -o $@ $<
72 + $(POST_PROCESS_O)
73 +
74 +pics/%.o: $(SRC)/common/crypto/sha2/amd64/%.s
75 + $(COMPILE.s) -o $@ $<
76 + $(POST_PROCESS_O)
77 +
78 +pics/%.o.objcap: pics/%.o
79 + $(LD) -r -o $@ -M$(CAPFILE) -Breduce $<
80 + $(POST_PROCESS_O)
81 +
82 +pics/%.o.symcap: pics/%.o.objcap
83 + $(LD) -r -o $@ -z symbolcap $<
84 +
60 85 md5_amd64.s: $(COMDIR)/md5/amd64/md5_amd64.pl
61 86 $(PERL) $? $@
62 87
63 88 sha1-x86_64.s: $(COMDIR)/sha1/amd64/sha1-x86_64.pl
64 89 $(PERL) $? $@
65 90
66 91 sha512-x86_64.s: $(COMDIR)/sha2/amd64/sha512-x86_64.pl
67 92 $(PERL) $? $@
68 93
69 94 sha256-x86_64.s: $(COMDIR)/sha2/amd64/sha512-x86_64.pl
70 95 $(PERL) $? $@
71 96
72 97 include ../Makefile.targ
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX