mirror of
https://git.proxmox.com/git/efi-boot-shim
synced 2025-07-27 12:45:27 +00:00
More GCC 5 fixes: stdarg.h and other include tweaks, cherry-pick from
d51739a4
.
This commit is contained in:
parent
d6f876b850
commit
c2f285a93f
@ -2,3 +2,4 @@ prototypes
|
|||||||
second-stage-path
|
second-stage-path
|
||||||
sbsigntool-not-pesign
|
sbsigntool-not-pesign
|
||||||
gcc-5.diff
|
gcc-5.diff
|
||||||
|
gcc5-includes-stdarg.patch
|
||||||
|
0
.pc/gcc5-includes-stdarg.patch/.timestamp
Normal file
0
.pc/gcc5-includes-stdarg.patch/.timestamp
Normal file
269
.pc/gcc5-includes-stdarg.patch/Cryptlib/Include/OpenSslSupport.h
Normal file
269
.pc/gcc5-includes-stdarg.patch/Cryptlib/Include/OpenSslSupport.h
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
/** @file
|
||||||
|
Root include file to support building OpenSSL Crypto Library.
|
||||||
|
|
||||||
|
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef __OPEN_SSL_SUPPORT_H__
|
||||||
|
#define __OPEN_SSL_SUPPORT_H__
|
||||||
|
|
||||||
|
#include <efi.h>
|
||||||
|
#include <efilib.h>
|
||||||
|
#include <Base.h>
|
||||||
|
#include <Library/BaseLib.h>
|
||||||
|
#include <Library/BaseMemoryLib.h>
|
||||||
|
#include <Library/MemoryAllocationLib.h>
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
|
||||||
|
#define CONST const
|
||||||
|
|
||||||
|
//
|
||||||
|
// File operations are not required for building Open SSL,
|
||||||
|
// so FILE is mapped to VOID * to pass build
|
||||||
|
//
|
||||||
|
typedef VOID *FILE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
|
||||||
|
//
|
||||||
|
#if !defined(__CC_ARM) // if va_list is not already defined
|
||||||
|
/*
|
||||||
|
* These are now unconditionally #defined by GNU_EFI's efistdarg.h,
|
||||||
|
* so we should #undef them here before providing a new definition.
|
||||||
|
*/
|
||||||
|
#undef va_arg
|
||||||
|
#undef va_start
|
||||||
|
#undef va_end
|
||||||
|
|
||||||
|
#define va_list VA_LIST
|
||||||
|
#define va_arg VA_ARG
|
||||||
|
#define va_start VA_START
|
||||||
|
#define va_end VA_END
|
||||||
|
typedef __builtin_va_list VA_LIST;
|
||||||
|
|
||||||
|
#define VA_START(Marker, Parameter) __builtin_va_start (Marker, Parameter)
|
||||||
|
|
||||||
|
#define VA_ARG(Marker, TYPE) ((sizeof (TYPE) < sizeof (UINTN)) ? (TYPE)(__builtin_va_arg (Marker, UINTN)) : (TYPE)(__builtin_va_arg (Marker, TYPE)))
|
||||||
|
|
||||||
|
#define VA_END(Marker) __builtin_va_end (Marker)
|
||||||
|
|
||||||
|
#define VA_COPY(Dest, Start) __builtin_va_copy (Dest, Start)
|
||||||
|
|
||||||
|
#else // __CC_ARM
|
||||||
|
#define va_start(Marker, Parameter) __va_start(Marker, Parameter)
|
||||||
|
#define va_arg(Marker, TYPE) __va_arg(Marker, TYPE)
|
||||||
|
#define va_end(Marker) ((void)0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// #defines from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
#define ENOMEM 12 /* Cannot allocate memory */
|
||||||
|
#define EINVAL 22 /* Invalid argument */
|
||||||
|
#define BUFSIZ 1024 /* size of buffer used by setbuf */
|
||||||
|
#define INT_MAX 2147483647 /* max value for an int */
|
||||||
|
#define INT_MIN (-2147483647-1) /* min value for an int */
|
||||||
|
#define LONG_MAX 2147483647L /* max value for a long */
|
||||||
|
#define LONG_MIN (-2147483647-1) /* min value for a long */
|
||||||
|
#define ULONG_MAX 0xffffffff /* max value for an unsigned long */
|
||||||
|
#define LOG_DAEMON (3<<3) /* system daemons */
|
||||||
|
#define LOG_EMERG 0 /* system is unusable */
|
||||||
|
#define LOG_ALERT 1 /* action must be taken immediately */
|
||||||
|
#define LOG_CRIT 2 /* critical conditions */
|
||||||
|
#define LOG_ERR 3 /* error conditions */
|
||||||
|
#define LOG_WARNING 4 /* warning conditions */
|
||||||
|
#define LOG_NOTICE 5 /* normal but significant condition */
|
||||||
|
#define LOG_INFO 6 /* informational */
|
||||||
|
#define LOG_DEBUG 7 /* debug-level messages */
|
||||||
|
#define LOG_PID 0x01 /* log the pid with each message */
|
||||||
|
#define LOG_CONS 0x02 /* log on the console if errors in sending */
|
||||||
|
|
||||||
|
//
|
||||||
|
// Macros from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
/* The offsetof() macro calculates the offset of a structure member
|
||||||
|
in its structure. Unfortunately this cannot be written down
|
||||||
|
portably, hence it is provided by a Standard C header file.
|
||||||
|
For pre-Standard C compilers, here is a version that usually works
|
||||||
|
(but watch out!): */
|
||||||
|
#define offsetof(type, member) ( (int) & ((type*)0) -> member )
|
||||||
|
|
||||||
|
//
|
||||||
|
// Basic types from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
typedef UINTN size_t;
|
||||||
|
typedef INTN ssize_t;
|
||||||
|
typedef INT64 off_t;
|
||||||
|
typedef UINT16 mode_t;
|
||||||
|
typedef long time_t;
|
||||||
|
typedef unsigned long clock_t;
|
||||||
|
typedef UINT32 uid_t;
|
||||||
|
typedef UINT32 gid_t;
|
||||||
|
typedef UINT32 ino_t;
|
||||||
|
typedef UINT32 dev_t;
|
||||||
|
typedef UINT16 nlink_t;
|
||||||
|
typedef int pid_t;
|
||||||
|
typedef void *DIR;
|
||||||
|
typedef void __sighandler_t (int);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Structures from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
struct tm {
|
||||||
|
int tm_sec; /* seconds after the minute [0-60] */
|
||||||
|
int tm_min; /* minutes after the hour [0-59] */
|
||||||
|
int tm_hour; /* hours since midnight [0-23] */
|
||||||
|
int tm_mday; /* day of the month [1-31] */
|
||||||
|
int tm_mon; /* months since January [0-11] */
|
||||||
|
int tm_year; /* years since 1900 */
|
||||||
|
int tm_wday; /* days since Sunday [0-6] */
|
||||||
|
int tm_yday; /* days since January 1 [0-365] */
|
||||||
|
int tm_isdst; /* Daylight Savings Time flag */
|
||||||
|
long tm_gmtoff; /* offset from CUT in seconds */
|
||||||
|
char *tm_zone; /* timezone abbreviation */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct dirent {
|
||||||
|
UINT32 d_fileno; /* file number of entry */
|
||||||
|
UINT16 d_reclen; /* length of this record */
|
||||||
|
UINT8 d_type; /* file type, see below */
|
||||||
|
UINT8 d_namlen; /* length of string in d_name */
|
||||||
|
char d_name[255 + 1]; /* name must be no longer than this */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct stat {
|
||||||
|
dev_t st_dev; /* inode's device */
|
||||||
|
ino_t st_ino; /* inode's number */
|
||||||
|
mode_t st_mode; /* inode protection mode */
|
||||||
|
nlink_t st_nlink; /* number of hard links */
|
||||||
|
uid_t st_uid; /* user ID of the file's owner */
|
||||||
|
gid_t st_gid; /* group ID of the file's group */
|
||||||
|
dev_t st_rdev; /* device type */
|
||||||
|
time_t st_atime; /* time of last access */
|
||||||
|
long st_atimensec; /* nsec of last access */
|
||||||
|
time_t st_mtime; /* time of last data modification */
|
||||||
|
long st_mtimensec; /* nsec of last data modification */
|
||||||
|
time_t st_ctime; /* time of last file status change */
|
||||||
|
long st_ctimensec; /* nsec of last file status change */
|
||||||
|
off_t st_size; /* file size, in bytes */
|
||||||
|
INT64 st_blocks; /* blocks allocated for file */
|
||||||
|
UINT32 st_blksize; /* optimal blocksize for I/O */
|
||||||
|
UINT32 st_flags; /* user defined flags for file */
|
||||||
|
UINT32 st_gen; /* file generation number */
|
||||||
|
INT32 st_lspare;
|
||||||
|
INT64 st_qspare[2];
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// Externs from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
extern int errno;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Function prototypes from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
void *malloc (size_t);
|
||||||
|
void *realloc (void *, size_t);
|
||||||
|
void free (void *);
|
||||||
|
int isdigit (int);
|
||||||
|
int isspace (int);
|
||||||
|
int tolower (int);
|
||||||
|
int isupper (int);
|
||||||
|
int isxdigit (int);
|
||||||
|
int isalnum (int);
|
||||||
|
void *memcpy (void *, const void *, size_t);
|
||||||
|
void *memset (void *, int, size_t);
|
||||||
|
void *memchr (const void *, int, size_t);
|
||||||
|
int memcmp (const void *, const void *, size_t);
|
||||||
|
void *memmove (void *, const void *, size_t);
|
||||||
|
int strcmp (const char *, const char *);
|
||||||
|
int strncmp (const char *, const char *, size_t);
|
||||||
|
char *strcpy (char *, const char *);
|
||||||
|
char *strncpy (char *, const char *, size_t);
|
||||||
|
size_t strlen (const char *);
|
||||||
|
char *strcat (char *, const char *);
|
||||||
|
char *strchr (const char *, int);
|
||||||
|
int strcasecmp (const char *, const char *);
|
||||||
|
int strncasecmp (const char *, const char *, size_t);
|
||||||
|
char *strncpy (char *, const char *, size_t);
|
||||||
|
int strncmp (const char *, const char *, size_t);
|
||||||
|
char *strrchr (const char *, int);
|
||||||
|
unsigned long strtoul (const char *, char **, int);
|
||||||
|
long strtol (const char *, char **, int);
|
||||||
|
int printf (const char *, ...);
|
||||||
|
int sscanf (const char *, const char *, ...);
|
||||||
|
int open (const char *, int, ...);
|
||||||
|
int chmod (const char *, mode_t);
|
||||||
|
int stat (const char *, struct stat *);
|
||||||
|
off_t lseek (int, off_t, int);
|
||||||
|
ssize_t read (int, void *, size_t);
|
||||||
|
ssize_t write (int, const void *, size_t);
|
||||||
|
int close (int);
|
||||||
|
FILE *fopen (const char *, const char *);
|
||||||
|
size_t fread (void *, size_t, size_t, FILE *);
|
||||||
|
size_t fwrite (const void *, size_t, size_t, FILE *);
|
||||||
|
char *fgets (char *, int, FILE *);
|
||||||
|
int fputs (const char *, FILE *);
|
||||||
|
int fprintf (FILE *, const char *, ...);
|
||||||
|
int vfprintf (FILE *, const char *, VA_LIST);
|
||||||
|
int fflush (FILE *);
|
||||||
|
int fclose (FILE *);
|
||||||
|
DIR *opendir (const char *);
|
||||||
|
struct dirent *readdir (DIR *);
|
||||||
|
int closedir (DIR *);
|
||||||
|
void openlog (const char *, int, int);
|
||||||
|
void closelog (void);
|
||||||
|
void syslog (int, const char *, ...);
|
||||||
|
time_t time (time_t *);
|
||||||
|
struct tm *localtime (const time_t *);
|
||||||
|
struct tm *gmtime (const time_t *);
|
||||||
|
struct tm *gmtime_r (const time_t *, struct tm *);
|
||||||
|
uid_t getuid (void);
|
||||||
|
uid_t geteuid (void);
|
||||||
|
gid_t getgid (void);
|
||||||
|
gid_t getegid (void);
|
||||||
|
void qsort (void *, size_t, size_t, int (*)(const void *, const void *));
|
||||||
|
char *getenv (const char *);
|
||||||
|
void exit (int);
|
||||||
|
void abort (void);
|
||||||
|
__sighandler_t *signal (int, __sighandler_t *);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Global variables from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
//
|
||||||
|
extern FILE *stderr;
|
||||||
|
extern FILE *stdin;
|
||||||
|
extern FILE *stdout;
|
||||||
|
|
||||||
|
#define AsciiStrLen(x) strlena(x)
|
||||||
|
#define AsciiStrnCmp(s1, s2, len) strncmpa(s1, s2, len)
|
||||||
|
|
||||||
|
//
|
||||||
|
// Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions
|
||||||
|
//
|
||||||
|
#define memcpy(dest,source,count) ( {CopyMem(dest,source,(UINTN)(count)); dest; })
|
||||||
|
#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))
|
||||||
|
#define memchr(buf,ch,count) ScanMem8(buf,(UINTN)(count),(UINT8)ch)
|
||||||
|
#define memcmp(buf1,buf2,count) (int)(CompareMem(buf1,buf2,(UINTN)(count)))
|
||||||
|
#define memmove(dest,source,count) CopyMem(dest,source,(UINTN)(count))
|
||||||
|
#define strcmp strcmpa
|
||||||
|
#define strncmp(string1,string2,count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count)))
|
||||||
|
#define strcpy(strDest,strSource) AsciiStrCpy(strDest,strSource)
|
||||||
|
#define strncpy(strDest,strSource,count) AsciiStrnCpy(strDest,strSource,(UINTN)count)
|
||||||
|
#define strlen(str) (size_t)(AsciiStrLen(str))
|
||||||
|
#define strcat(strDest,strSource) AsciiStrCat(strDest,strSource)
|
||||||
|
#define strchr(str,ch) ScanMem8((VOID *)(str),AsciiStrSize(str),(UINT8)ch)
|
||||||
|
#define abort() ASSERT (FALSE)
|
||||||
|
#define assert(expression)
|
||||||
|
#define localtime(timer) NULL
|
||||||
|
#define gmtime_r(timer,result) (result = NULL)
|
||||||
|
|
||||||
|
#endif
|
45
.pc/gcc5-includes-stdarg.patch/Cryptlib/Makefile
Normal file
45
.pc/gcc5-includes-stdarg.patch/Cryptlib/Makefile
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
EFI_INCLUDES = -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
||||||
|
|
||||||
|
CFLAGS = -std=gnu89 -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
|
||||||
|
-Wall $(EFI_INCLUDES)
|
||||||
|
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
||||||
|
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),ia32)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args -m32
|
||||||
|
endif
|
||||||
|
LDFLAGS = -nostdlib -znocombreloc
|
||||||
|
|
||||||
|
TARGET = libcryptlib.a
|
||||||
|
OBJS = Hash/CryptMd4.o \
|
||||||
|
Hash/CryptMd5.o \
|
||||||
|
Hash/CryptSha1.o \
|
||||||
|
Hash/CryptSha256.o \
|
||||||
|
Hmac/CryptHmacMd5.o \
|
||||||
|
Hmac/CryptHmacSha1.o \
|
||||||
|
Cipher/CryptAes.o \
|
||||||
|
Cipher/CryptTdes.o \
|
||||||
|
Cipher/CryptArc4.o \
|
||||||
|
Rand/CryptRand.o \
|
||||||
|
Pk/CryptRsaBasic.o \
|
||||||
|
Pk/CryptRsaExtNull.o \
|
||||||
|
Pk/CryptPkcs7SignNull.o \
|
||||||
|
Pk/CryptPkcs7Verify.o \
|
||||||
|
Pk/CryptDhNull.o \
|
||||||
|
Pk/CryptX509.o \
|
||||||
|
Pk/CryptAuthenticode.o \
|
||||||
|
Pem/CryptPem.o \
|
||||||
|
SysCall/CrtWrapper.o \
|
||||||
|
SysCall/TimerWrapper.o \
|
||||||
|
SysCall/BaseMemAllocation.o \
|
||||||
|
SysCall/BaseStrings.o
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
libcryptlib.a: $(OBJS)
|
||||||
|
ar rcs libcryptlib.a $(OBJS)
|
||||||
|
clean:
|
||||||
|
rm -f $(TARGET) $(OBJS)
|
531
.pc/gcc5-includes-stdarg.patch/Cryptlib/OpenSSL/Makefile
Normal file
531
.pc/gcc5-includes-stdarg.patch/Cryptlib/OpenSSL/Makefile
Normal file
@ -0,0 +1,531 @@
|
|||||||
|
|
||||||
|
EFI_INCLUDES = -I../Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
||||||
|
|
||||||
|
CFLAGS = -std=gnu89 -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc \
|
||||||
|
-Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC
|
||||||
|
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -maccumulate-outgoing-args \
|
||||||
|
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI -DSIXTY_FOUR_BIT_LONG
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),ia32)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -maccumulate-outgoing-args \
|
||||||
|
-m32 -DTHIRTY_TWO_BIT
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),aarch64)
|
||||||
|
CFLAGS += -O2 -DSIXTY_FOUR_BIT_LONG -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),arm)
|
||||||
|
CFLAGS += -O2 -DTHIRTY_TWO_BIT -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
endif
|
||||||
|
LDFLAGS = -nostdlib -znocombreloc
|
||||||
|
|
||||||
|
TARGET = libopenssl.a
|
||||||
|
OBJS = crypto/cryptlib.o \
|
||||||
|
crypto/dyn_lck.o \
|
||||||
|
crypto/mem.o \
|
||||||
|
crypto/mem_clr.o \
|
||||||
|
crypto/mem_dbg.o \
|
||||||
|
crypto/cversion.o \
|
||||||
|
crypto/ex_data.o \
|
||||||
|
crypto/cpt_err.o \
|
||||||
|
crypto/ebcdic.o \
|
||||||
|
crypto/uid.o \
|
||||||
|
crypto/o_time.o \
|
||||||
|
crypto/o_str.o \
|
||||||
|
crypto/o_dir.o \
|
||||||
|
crypto/o_init.o \
|
||||||
|
crypto/fips_err.o \
|
||||||
|
crypto/md2/md2_dgst.o \
|
||||||
|
crypto/md2/md2_one.o \
|
||||||
|
crypto/md4/md4_dgst.o \
|
||||||
|
crypto/md4/md4_one.o \
|
||||||
|
crypto/md5/md5_dgst.o \
|
||||||
|
crypto/md5/md5_one.o \
|
||||||
|
crypto/sha/sha_dgst.o \
|
||||||
|
crypto/sha/sha1dgst.o \
|
||||||
|
crypto/sha/sha_one.o \
|
||||||
|
crypto/sha/sha1_one.o \
|
||||||
|
crypto/sha/sha256.o \
|
||||||
|
crypto/sha/sha512.o \
|
||||||
|
crypto/hmac/hmac.o \
|
||||||
|
crypto/ripemd/rmd_dgst.o \
|
||||||
|
crypto/ripemd/rmd_one.o \
|
||||||
|
crypto/des/des_lib.o \
|
||||||
|
crypto/des/set_key.o \
|
||||||
|
crypto/des/ecb_enc.o \
|
||||||
|
crypto/des/cbc_enc.o \
|
||||||
|
crypto/des/ecb3_enc.o \
|
||||||
|
crypto/des/cfb64enc.o \
|
||||||
|
crypto/des/cfb64ede.o \
|
||||||
|
crypto/des/cfb_enc.o \
|
||||||
|
crypto/des/ofb64ede.o \
|
||||||
|
crypto/des/enc_read.o \
|
||||||
|
crypto/des/enc_writ.o \
|
||||||
|
crypto/des/ofb64enc.o \
|
||||||
|
crypto/des/ofb_enc.o \
|
||||||
|
crypto/des/str2key.o \
|
||||||
|
crypto/des/pcbc_enc.o \
|
||||||
|
crypto/des/qud_cksm.o \
|
||||||
|
crypto/des/rand_key.o \
|
||||||
|
crypto/des/des_enc.o \
|
||||||
|
crypto/des/fcrypt_b.o \
|
||||||
|
crypto/des/fcrypt.o \
|
||||||
|
crypto/des/xcbc_enc.o \
|
||||||
|
crypto/des/rpc_enc.o \
|
||||||
|
crypto/des/cbc_cksm.o \
|
||||||
|
crypto/des/ede_cbcm_enc.o \
|
||||||
|
crypto/des/des_old.o \
|
||||||
|
crypto/des/des_old2.o \
|
||||||
|
crypto/des/read2pwd.o \
|
||||||
|
crypto/rc2/rc2_ecb.o \
|
||||||
|
crypto/rc2/rc2_skey.o \
|
||||||
|
crypto/rc2/rc2_cbc.o \
|
||||||
|
crypto/rc2/rc2cfb64.o \
|
||||||
|
crypto/rc2/rc2ofb64.o \
|
||||||
|
crypto/rc4/rc4_enc.o \
|
||||||
|
crypto/rc4/rc4_skey.o \
|
||||||
|
crypto/rc4/rc4_fblk.o \
|
||||||
|
crypto/idea/i_cbc.o \
|
||||||
|
crypto/idea/i_cfb64.o \
|
||||||
|
crypto/idea/i_ofb64.o \
|
||||||
|
crypto/idea/i_ecb.o \
|
||||||
|
crypto/idea/i_skey.o \
|
||||||
|
crypto/bf/bf_skey.o \
|
||||||
|
crypto/bf/bf_ecb.o \
|
||||||
|
crypto/bf/bf_enc.o \
|
||||||
|
crypto/bf/bf_cfb64.o \
|
||||||
|
crypto/bf/bf_ofb64.o \
|
||||||
|
crypto/cast/c_skey.o \
|
||||||
|
crypto/cast/c_ecb.o \
|
||||||
|
crypto/cast/c_enc.o \
|
||||||
|
crypto/cast/c_cfb64.o \
|
||||||
|
crypto/cast/c_ofb64.o \
|
||||||
|
crypto/aes/aes_misc.o \
|
||||||
|
crypto/aes/aes_ecb.o \
|
||||||
|
crypto/aes/aes_cfb.o \
|
||||||
|
crypto/aes/aes_ofb.o \
|
||||||
|
crypto/aes/aes_ctr.o \
|
||||||
|
crypto/aes/aes_ige.o \
|
||||||
|
crypto/aes/aes_wrap.o \
|
||||||
|
crypto/aes/aes_core.o \
|
||||||
|
crypto/aes/aes_cbc.o \
|
||||||
|
crypto/bn/bn_add.o \
|
||||||
|
crypto/bn/bn_div.o \
|
||||||
|
crypto/bn/bn_exp.o \
|
||||||
|
crypto/bn/bn_lib.o \
|
||||||
|
crypto/bn/bn_ctx.o \
|
||||||
|
crypto/bn/bn_mul.o \
|
||||||
|
crypto/bn/bn_mod.o \
|
||||||
|
crypto/bn/bn_print.o \
|
||||||
|
crypto/bn/bn_rand.o \
|
||||||
|
crypto/bn/bn_shift.o \
|
||||||
|
crypto/bn/bn_word.o \
|
||||||
|
crypto/bn/bn_blind.o \
|
||||||
|
crypto/bn/bn_kron.o \
|
||||||
|
crypto/bn/bn_sqrt.o \
|
||||||
|
crypto/bn/bn_gcd.o \
|
||||||
|
crypto/bn/bn_prime.o \
|
||||||
|
crypto/bn/bn_err.o \
|
||||||
|
crypto/bn/bn_sqr.o \
|
||||||
|
crypto/bn/bn_asm.o \
|
||||||
|
crypto/bn/bn_recp.o \
|
||||||
|
crypto/bn/bn_mont.o \
|
||||||
|
crypto/bn/bn_mpi.o \
|
||||||
|
crypto/bn/bn_exp2.o \
|
||||||
|
crypto/bn/bn_gf2m.o \
|
||||||
|
crypto/bn/bn_nist.o \
|
||||||
|
crypto/bn/bn_depr.o \
|
||||||
|
crypto/bn/bn_x931p.o \
|
||||||
|
crypto/bn/bn_const.o \
|
||||||
|
crypto/bn/bn_opt.o \
|
||||||
|
crypto/rsa/rsa_eay.o \
|
||||||
|
crypto/rsa/rsa_gen.o \
|
||||||
|
crypto/rsa/rsa_lib.o \
|
||||||
|
crypto/rsa/rsa_sign.o \
|
||||||
|
crypto/rsa/rsa_saos.o \
|
||||||
|
crypto/rsa/rsa_err.o \
|
||||||
|
crypto/rsa/rsa_pk1.o \
|
||||||
|
crypto/rsa/rsa_ssl.o \
|
||||||
|
crypto/rsa/rsa_none.o \
|
||||||
|
crypto/rsa/rsa_oaep.o \
|
||||||
|
crypto/rsa/rsa_chk.o \
|
||||||
|
crypto/rsa/rsa_null.o \
|
||||||
|
crypto/rsa/rsa_pss.o \
|
||||||
|
crypto/rsa/rsa_x931.o \
|
||||||
|
crypto/rsa/rsa_x931g.o \
|
||||||
|
crypto/rsa/rsa_asn1.o \
|
||||||
|
crypto/rsa/rsa_depr.o \
|
||||||
|
crypto/rsa/rsa_eng.o \
|
||||||
|
crypto/dsa/dsa_gen.o \
|
||||||
|
crypto/dsa/dsa_key.o \
|
||||||
|
crypto/dsa/dsa_lib.o \
|
||||||
|
crypto/dsa/dsa_asn1.o \
|
||||||
|
crypto/dsa/dsa_vrf.o \
|
||||||
|
crypto/dsa/dsa_sign.o \
|
||||||
|
crypto/dsa/dsa_err.o \
|
||||||
|
crypto/dsa/dsa_ossl.o \
|
||||||
|
crypto/dsa/dsa_depr.o \
|
||||||
|
crypto/dsa/dsa_utl.o \
|
||||||
|
crypto/dso/dso_dl.o \
|
||||||
|
crypto/dso/dso_dlfcn.o \
|
||||||
|
crypto/dso/dso_err.o \
|
||||||
|
crypto/dso/dso_lib.o \
|
||||||
|
crypto/dso/dso_null.o \
|
||||||
|
crypto/dso/dso_openssl.o \
|
||||||
|
crypto/dso/dso_win32.o \
|
||||||
|
crypto/dso/dso_vms.o \
|
||||||
|
crypto/dh/dh_asn1.o \
|
||||||
|
crypto/dh/dh_gen.o \
|
||||||
|
crypto/dh/dh_key.o \
|
||||||
|
crypto/dh/dh_lib.o \
|
||||||
|
crypto/dh/dh_check.o \
|
||||||
|
crypto/dh/dh_err.o \
|
||||||
|
crypto/dh/dh_depr.o \
|
||||||
|
crypto/ec/ec_lib.o \
|
||||||
|
crypto/ec/ecp_smpl.o \
|
||||||
|
crypto/ec/ecp_mont.o \
|
||||||
|
crypto/ec/ecp_nist.o \
|
||||||
|
crypto/ec/ec_cvt.o \
|
||||||
|
crypto/ec/ec_mult.o \
|
||||||
|
crypto/ec/ec_err.o \
|
||||||
|
crypto/ec/ec_curve.o \
|
||||||
|
crypto/ec/ec_check.o \
|
||||||
|
crypto/ec/ec_print.o \
|
||||||
|
crypto/ec/ec_asn1.o \
|
||||||
|
crypto/ec/ec_key.o \
|
||||||
|
crypto/ec/ec2_smpl.o \
|
||||||
|
crypto/ec/ec2_mult.o \
|
||||||
|
crypto/ecdh/ech_lib.o \
|
||||||
|
crypto/ecdh/ech_ossl.o \
|
||||||
|
crypto/ecdh/ech_key.o \
|
||||||
|
crypto/ecdh/ech_err.o \
|
||||||
|
crypto/ecdsa/ecs_lib.o \
|
||||||
|
crypto/ecdsa/ecs_asn1.o \
|
||||||
|
crypto/ecdsa/ecs_ossl.o \
|
||||||
|
crypto/ecdsa/ecs_sign.o \
|
||||||
|
crypto/ecdsa/ecs_vrf.o \
|
||||||
|
crypto/ecdsa/ecs_err.o \
|
||||||
|
crypto/buffer/buffer.o \
|
||||||
|
crypto/buffer/buf_str.o \
|
||||||
|
crypto/buffer/buf_err.o \
|
||||||
|
crypto/bio/bio_lib.o \
|
||||||
|
crypto/bio/bio_cb.o \
|
||||||
|
crypto/bio/bio_err.o \
|
||||||
|
crypto/bio/bss_mem.o \
|
||||||
|
crypto/bio/bss_null.o \
|
||||||
|
crypto/bio/bss_fd.o \
|
||||||
|
crypto/bio/bss_file.o \
|
||||||
|
crypto/bio/bf_null.o \
|
||||||
|
crypto/bio/bf_buff.o \
|
||||||
|
crypto/bio/b_dump.o \
|
||||||
|
crypto/bio/b_print.o \
|
||||||
|
crypto/bio/bf_nbio.o \
|
||||||
|
crypto/bio/bss_log.o \
|
||||||
|
crypto/bio/bss_bio.o \
|
||||||
|
crypto/bio/bss_dgram.o \
|
||||||
|
crypto/stack/stack.o \
|
||||||
|
crypto/lhash/lhash.o \
|
||||||
|
crypto/lhash/lh_stats.o \
|
||||||
|
crypto/rand/md_rand.o \
|
||||||
|
crypto/rand/randfile.o \
|
||||||
|
crypto/rand/rand_lib.o \
|
||||||
|
crypto/rand/rand_eng.o \
|
||||||
|
crypto/rand/rand_err.o \
|
||||||
|
crypto/rand/rand_egd.o \
|
||||||
|
crypto/rand/rand_win.o \
|
||||||
|
crypto/rand/rand_unix.o \
|
||||||
|
crypto/rand/rand_os2.o \
|
||||||
|
crypto/rand/rand_nw.o \
|
||||||
|
crypto/err/err.o \
|
||||||
|
crypto/err/err_def.o \
|
||||||
|
crypto/err/err_all.o \
|
||||||
|
crypto/err/err_prn.o \
|
||||||
|
crypto/err/err_str.o \
|
||||||
|
crypto/err/err_bio.o \
|
||||||
|
crypto/objects/o_names.o \
|
||||||
|
crypto/objects/obj_dat.o \
|
||||||
|
crypto/objects/obj_lib.o \
|
||||||
|
crypto/objects/obj_err.o \
|
||||||
|
crypto/evp/encode.o \
|
||||||
|
crypto/evp/digest.o \
|
||||||
|
crypto/evp/dig_eng.o \
|
||||||
|
crypto/evp/evp_enc.o \
|
||||||
|
crypto/evp/evp_key.o \
|
||||||
|
crypto/evp/evp_acnf.o \
|
||||||
|
crypto/evp/evp_cnf.o \
|
||||||
|
crypto/evp/e_des.o \
|
||||||
|
crypto/evp/e_bf.o \
|
||||||
|
crypto/evp/e_idea.o \
|
||||||
|
crypto/evp/e_des3.o \
|
||||||
|
crypto/evp/e_rc4.o \
|
||||||
|
crypto/evp/e_aes.o \
|
||||||
|
crypto/evp/names.o \
|
||||||
|
crypto/evp/e_xcbc_d.o \
|
||||||
|
crypto/evp/e_rc2.o \
|
||||||
|
crypto/evp/e_cast.o \
|
||||||
|
crypto/evp/e_rc5.o \
|
||||||
|
crypto/evp/enc_min.o \
|
||||||
|
crypto/evp/m_null.o \
|
||||||
|
crypto/evp/m_md2.o \
|
||||||
|
crypto/evp/m_md4.o \
|
||||||
|
crypto/evp/m_md5.o \
|
||||||
|
crypto/evp/m_sha.o \
|
||||||
|
crypto/evp/m_sha1.o \
|
||||||
|
crypto/evp/m_dss.o \
|
||||||
|
crypto/evp/m_dss1.o \
|
||||||
|
crypto/evp/m_ripemd.o \
|
||||||
|
crypto/evp/m_ecdsa.o \
|
||||||
|
crypto/evp/p_open.o \
|
||||||
|
crypto/evp/p_seal.o \
|
||||||
|
crypto/evp/p_sign.o \
|
||||||
|
crypto/evp/p_verify.o \
|
||||||
|
crypto/evp/p_lib.o \
|
||||||
|
crypto/evp/p_enc.o \
|
||||||
|
crypto/evp/p_dec.o \
|
||||||
|
crypto/evp/bio_md.o \
|
||||||
|
crypto/evp/bio_b64.o \
|
||||||
|
crypto/evp/bio_enc.o \
|
||||||
|
crypto/evp/evp_err.o \
|
||||||
|
crypto/evp/e_null.o \
|
||||||
|
crypto/evp/c_all.o \
|
||||||
|
crypto/evp/c_allc.o \
|
||||||
|
crypto/evp/c_alld.o \
|
||||||
|
crypto/evp/evp_lib.o \
|
||||||
|
crypto/evp/bio_ok.o \
|
||||||
|
crypto/evp/evp_pkey.o \
|
||||||
|
crypto/evp/evp_pbe.o \
|
||||||
|
crypto/evp/p5_crpt.o \
|
||||||
|
crypto/evp/p5_crpt2.o \
|
||||||
|
crypto/evp/e_old.o \
|
||||||
|
crypto/asn1/a_object.o \
|
||||||
|
crypto/asn1/a_bitstr.o \
|
||||||
|
crypto/asn1/a_utctm.o \
|
||||||
|
crypto/asn1/a_gentm.o \
|
||||||
|
crypto/asn1/a_time.o \
|
||||||
|
crypto/asn1/a_int.o \
|
||||||
|
crypto/asn1/a_octet.o \
|
||||||
|
crypto/asn1/a_print.o \
|
||||||
|
crypto/asn1/a_type.o \
|
||||||
|
crypto/asn1/a_set.o \
|
||||||
|
crypto/asn1/a_dup.o \
|
||||||
|
crypto/asn1/a_d2i_fp.o \
|
||||||
|
crypto/asn1/a_i2d_fp.o \
|
||||||
|
crypto/asn1/a_enum.o \
|
||||||
|
crypto/asn1/a_utf8.o \
|
||||||
|
crypto/asn1/a_sign.o \
|
||||||
|
crypto/asn1/a_digest.o \
|
||||||
|
crypto/asn1/a_verify.o \
|
||||||
|
crypto/asn1/a_mbstr.o \
|
||||||
|
crypto/asn1/a_strex.o \
|
||||||
|
crypto/asn1/x_algor.o \
|
||||||
|
crypto/asn1/x_val.o \
|
||||||
|
crypto/asn1/x_pubkey.o \
|
||||||
|
crypto/asn1/x_sig.o \
|
||||||
|
crypto/asn1/x_req.o \
|
||||||
|
crypto/asn1/x_attrib.o \
|
||||||
|
crypto/asn1/x_bignum.o \
|
||||||
|
crypto/asn1/x_long.o \
|
||||||
|
crypto/asn1/x_name.o \
|
||||||
|
crypto/asn1/x_x509.o \
|
||||||
|
crypto/asn1/x_x509a.o \
|
||||||
|
crypto/asn1/x_crl.o \
|
||||||
|
crypto/asn1/x_info.o \
|
||||||
|
crypto/asn1/x_spki.o \
|
||||||
|
crypto/asn1/nsseq.o \
|
||||||
|
crypto/asn1/d2i_pu.o \
|
||||||
|
crypto/asn1/d2i_pr.o \
|
||||||
|
crypto/asn1/i2d_pu.o \
|
||||||
|
crypto/asn1/i2d_pr.o \
|
||||||
|
crypto/asn1/t_req.o \
|
||||||
|
crypto/asn1/t_x509.o \
|
||||||
|
crypto/asn1/t_x509a.o \
|
||||||
|
crypto/asn1/t_crl.o \
|
||||||
|
crypto/asn1/t_pkey.o \
|
||||||
|
crypto/asn1/t_spki.o \
|
||||||
|
crypto/asn1/t_bitst.o \
|
||||||
|
crypto/asn1/tasn_new.o \
|
||||||
|
crypto/asn1/tasn_fre.o \
|
||||||
|
crypto/asn1/tasn_enc.o \
|
||||||
|
crypto/asn1/tasn_dec.o \
|
||||||
|
crypto/asn1/tasn_utl.o \
|
||||||
|
crypto/asn1/tasn_typ.o \
|
||||||
|
crypto/asn1/f_int.o \
|
||||||
|
crypto/asn1/f_string.o \
|
||||||
|
crypto/asn1/n_pkey.o \
|
||||||
|
crypto/asn1/f_enum.o \
|
||||||
|
crypto/asn1/a_hdr.o \
|
||||||
|
crypto/asn1/x_pkey.o \
|
||||||
|
crypto/asn1/a_bool.o \
|
||||||
|
crypto/asn1/x_exten.o \
|
||||||
|
crypto/asn1/asn_mime.o \
|
||||||
|
crypto/asn1/asn1_gen.o \
|
||||||
|
crypto/asn1/asn1_par.o \
|
||||||
|
crypto/asn1/asn1_lib.o \
|
||||||
|
crypto/asn1/asn1_err.o \
|
||||||
|
crypto/asn1/a_meth.o \
|
||||||
|
crypto/asn1/a_bytes.o \
|
||||||
|
crypto/asn1/a_strnid.o \
|
||||||
|
crypto/asn1/evp_asn1.o \
|
||||||
|
crypto/asn1/asn_pack.o \
|
||||||
|
crypto/asn1/p5_pbe.o \
|
||||||
|
crypto/asn1/p5_pbev2.o \
|
||||||
|
crypto/asn1/p8_pkey.o \
|
||||||
|
crypto/asn1/asn_moid.o \
|
||||||
|
crypto/pem/pem_sign.o \
|
||||||
|
crypto/pem/pem_seal.o \
|
||||||
|
crypto/pem/pem_info.o \
|
||||||
|
crypto/pem/pem_lib.o \
|
||||||
|
crypto/pem/pem_all.o \
|
||||||
|
crypto/pem/pem_err.o \
|
||||||
|
crypto/pem/pem_x509.o \
|
||||||
|
crypto/pem/pem_xaux.o \
|
||||||
|
crypto/pem/pem_oth.o \
|
||||||
|
crypto/pem/pem_pk8.o \
|
||||||
|
crypto/pem/pem_pkey.o \
|
||||||
|
crypto/x509/x509_def.o \
|
||||||
|
crypto/x509/x509_d2.o \
|
||||||
|
crypto/x509/x509_r2x.o \
|
||||||
|
crypto/x509/x509_cmp.o \
|
||||||
|
crypto/x509/x509_obj.o \
|
||||||
|
crypto/x509/x509_req.o \
|
||||||
|
crypto/x509/x509spki.o \
|
||||||
|
crypto/x509/x509_vfy.o \
|
||||||
|
crypto/x509/x509_set.o \
|
||||||
|
crypto/x509/x509cset.o \
|
||||||
|
crypto/x509/x509rset.o \
|
||||||
|
crypto/x509/x509_err.o \
|
||||||
|
crypto/x509/x509name.o \
|
||||||
|
crypto/x509/x509_v3.o \
|
||||||
|
crypto/x509/x509_ext.o \
|
||||||
|
crypto/x509/x509_att.o \
|
||||||
|
crypto/x509/x509type.o \
|
||||||
|
crypto/x509/x509_lu.o \
|
||||||
|
crypto/x509/x_all.o \
|
||||||
|
crypto/x509/x509_txt.o \
|
||||||
|
crypto/x509/x509_trs.o \
|
||||||
|
crypto/x509/by_file.o \
|
||||||
|
crypto/x509/by_dir.o \
|
||||||
|
crypto/x509/x509_vpm.o \
|
||||||
|
crypto/x509v3/v3_bcons.o \
|
||||||
|
crypto/x509v3/v3_bitst.o \
|
||||||
|
crypto/x509v3/v3_conf.o \
|
||||||
|
crypto/x509v3/v3_extku.o \
|
||||||
|
crypto/x509v3/v3_ia5.o \
|
||||||
|
crypto/x509v3/v3_lib.o \
|
||||||
|
crypto/x509v3/v3_prn.o \
|
||||||
|
crypto/x509v3/v3_utl.o \
|
||||||
|
crypto/x509v3/v3err.o \
|
||||||
|
crypto/x509v3/v3_genn.o \
|
||||||
|
crypto/x509v3/v3_alt.o \
|
||||||
|
crypto/x509v3/v3_skey.o \
|
||||||
|
crypto/x509v3/v3_akey.o \
|
||||||
|
crypto/x509v3/v3_pku.o \
|
||||||
|
crypto/x509v3/v3_int.o \
|
||||||
|
crypto/x509v3/v3_enum.o \
|
||||||
|
crypto/x509v3/v3_sxnet.o \
|
||||||
|
crypto/x509v3/v3_cpols.o \
|
||||||
|
crypto/x509v3/v3_crld.o \
|
||||||
|
crypto/x509v3/v3_purp.o \
|
||||||
|
crypto/x509v3/v3_info.o \
|
||||||
|
crypto/x509v3/v3_ocsp.o \
|
||||||
|
crypto/x509v3/v3_akeya.o \
|
||||||
|
crypto/x509v3/v3_pmaps.o \
|
||||||
|
crypto/x509v3/v3_pcons.o \
|
||||||
|
crypto/x509v3/v3_ncons.o \
|
||||||
|
crypto/x509v3/v3_pcia.o \
|
||||||
|
crypto/x509v3/v3_pci.o \
|
||||||
|
crypto/x509v3/pcy_cache.o \
|
||||||
|
crypto/x509v3/pcy_node.o \
|
||||||
|
crypto/x509v3/pcy_data.o \
|
||||||
|
crypto/x509v3/pcy_map.o \
|
||||||
|
crypto/x509v3/pcy_tree.o \
|
||||||
|
crypto/x509v3/pcy_lib.o \
|
||||||
|
crypto/x509v3/v3_asid.o \
|
||||||
|
crypto/x509v3/v3_addr.o \
|
||||||
|
crypto/conf/conf_err.o \
|
||||||
|
crypto/conf/conf_lib.o \
|
||||||
|
crypto/conf/conf_api.o \
|
||||||
|
crypto/conf/conf_def.o \
|
||||||
|
crypto/conf/conf_mod.o \
|
||||||
|
crypto/conf/conf_mall.o \
|
||||||
|
crypto/conf/conf_sap.o \
|
||||||
|
crypto/txt_db/txt_db.o \
|
||||||
|
crypto/pkcs7/pk7_asn1.o \
|
||||||
|
crypto/pkcs7/pk7_lib.o \
|
||||||
|
crypto/pkcs7/pkcs7err.o \
|
||||||
|
crypto/pkcs7/pk7_doit.o \
|
||||||
|
crypto/pkcs7/pk7_smime.o \
|
||||||
|
crypto/pkcs7/pk7_attr.o \
|
||||||
|
crypto/pkcs7/pk7_mime.o \
|
||||||
|
crypto/pkcs12/p12_add.o \
|
||||||
|
crypto/pkcs12/p12_asn.o \
|
||||||
|
crypto/pkcs12/p12_attr.o \
|
||||||
|
crypto/pkcs12/p12_crpt.o \
|
||||||
|
crypto/pkcs12/p12_crt.o \
|
||||||
|
crypto/pkcs12/p12_decr.o \
|
||||||
|
crypto/pkcs12/p12_init.o \
|
||||||
|
crypto/pkcs12/p12_key.o \
|
||||||
|
crypto/pkcs12/p12_kiss.o \
|
||||||
|
crypto/pkcs12/p12_mutl.o \
|
||||||
|
crypto/pkcs12/p12_utl.o \
|
||||||
|
crypto/pkcs12/p12_npas.o \
|
||||||
|
crypto/pkcs12/pk12err.o \
|
||||||
|
crypto/pkcs12/p12_p8d.o \
|
||||||
|
crypto/pkcs12/p12_p8e.o \
|
||||||
|
crypto/comp/comp_lib.o \
|
||||||
|
crypto/comp/comp_err.o \
|
||||||
|
crypto/comp/c_rle.o \
|
||||||
|
crypto/comp/c_zlib.o \
|
||||||
|
crypto/engine/eng_err.o \
|
||||||
|
crypto/engine/eng_lib.o \
|
||||||
|
crypto/engine/eng_list.o \
|
||||||
|
crypto/engine/eng_init.o \
|
||||||
|
crypto/engine/eng_ctrl.o \
|
||||||
|
crypto/engine/eng_table.o \
|
||||||
|
crypto/engine/eng_pkey.o \
|
||||||
|
crypto/engine/eng_fat.o \
|
||||||
|
crypto/engine/eng_all.o \
|
||||||
|
crypto/engine/tb_rsa.o \
|
||||||
|
crypto/engine/tb_dsa.o \
|
||||||
|
crypto/engine/tb_ecdsa.o \
|
||||||
|
crypto/engine/tb_dh.o \
|
||||||
|
crypto/engine/tb_ecdh.o \
|
||||||
|
crypto/engine/tb_rand.o \
|
||||||
|
crypto/engine/tb_store.o \
|
||||||
|
crypto/engine/tb_cipher.o \
|
||||||
|
crypto/engine/tb_digest.o \
|
||||||
|
crypto/engine/eng_openssl.o \
|
||||||
|
crypto/engine/eng_cnf.o \
|
||||||
|
crypto/engine/eng_dyn.o \
|
||||||
|
crypto/engine/eng_cryptodev.o \
|
||||||
|
crypto/engine/eng_padlock.o \
|
||||||
|
crypto/ocsp/ocsp_asn.o \
|
||||||
|
crypto/ocsp/ocsp_ext.o \
|
||||||
|
crypto/ocsp/ocsp_ht.o \
|
||||||
|
crypto/ocsp/ocsp_lib.o \
|
||||||
|
crypto/ocsp/ocsp_cl.o \
|
||||||
|
crypto/ocsp/ocsp_srv.o \
|
||||||
|
crypto/ocsp/ocsp_prn.o \
|
||||||
|
crypto/ocsp/ocsp_vfy.o \
|
||||||
|
crypto/ocsp/ocsp_err.o \
|
||||||
|
crypto/ui/ui_err.o \
|
||||||
|
crypto/ui/ui_lib.o \
|
||||||
|
crypto/ui/ui_util.o \
|
||||||
|
crypto/ui/ui_compat.o \
|
||||||
|
crypto/krb5/krb5_asn.o \
|
||||||
|
crypto/store/str_err.o \
|
||||||
|
crypto/store/str_lib.o \
|
||||||
|
crypto/store/str_meth.o \
|
||||||
|
crypto/store/str_mem.o \
|
||||||
|
crypto/pqueue/pqueue.o \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
libopenssl.a: $(OBJS)
|
||||||
|
ar rcs libopenssl.a $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(TARGET) $(OBJS)
|
183
.pc/gcc5-includes-stdarg.patch/Makefile
Normal file
183
.pc/gcc5-includes-stdarg.patch/Makefile
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
CC = $(CROSS_COMPILE)gcc
|
||||||
|
LD = $(CROSS_COMPILE)ld
|
||||||
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||||
|
|
||||||
|
ARCH = $(shell $(CC) -dumpmachine | cut -f1 -d- | sed s,i[3456789]86,ia32,)
|
||||||
|
|
||||||
|
SUBDIRS = Cryptlib lib
|
||||||
|
|
||||||
|
LIB_PATH = /usr/lib64
|
||||||
|
|
||||||
|
EFI_INCLUDE := /usr/include/efi
|
||||||
|
EFI_INCLUDES = -nostdinc -ICryptlib -ICryptlib/Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol -Iinclude
|
||||||
|
EFI_PATH := /usr/lib64/gnuefi
|
||||||
|
|
||||||
|
LIB_GCC = $(shell $(CC) -print-libgcc-file-name)
|
||||||
|
EFI_LIBS = -lefi -lgnuefi --start-group Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a --end-group $(LIB_GCC)
|
||||||
|
|
||||||
|
EFI_CRT_OBJS = $(EFI_PATH)/crt0-efi-$(ARCH).o
|
||||||
|
EFI_LDS = elf_$(ARCH)_efi.lds
|
||||||
|
|
||||||
|
DEFAULT_LOADER := \\\\grubx64.efi
|
||||||
|
CFLAGS = -std=gnu89 -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
|
||||||
|
-fshort-wchar -Wall -Wsign-compare -Werror -fno-builtin \
|
||||||
|
-Werror=sign-compare \
|
||||||
|
"-DDEFAULT_LOADER=L\"$(DEFAULT_LOADER)\"" \
|
||||||
|
"-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \
|
||||||
|
$(EFI_INCLUDES)
|
||||||
|
|
||||||
|
ifneq ($(origin OVERRIDE_SECURITY_POLICY), undefined)
|
||||||
|
CFLAGS += -DOVERRIDE_SECURITY_POLICY
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
||||||
|
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),ia32)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args -m32
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH),aarch64)
|
||||||
|
CFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH),arm)
|
||||||
|
CFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(origin VENDOR_CERT_FILE), undefined)
|
||||||
|
CFLAGS += -DVENDOR_CERT_FILE=\"$(VENDOR_CERT_FILE)\"
|
||||||
|
endif
|
||||||
|
ifneq ($(origin VENDOR_DBX_FILE), undefined)
|
||||||
|
CFLAGS += -DVENDOR_DBX_FILE=\"$(VENDOR_DBX_FILE)\"
|
||||||
|
endif
|
||||||
|
|
||||||
|
LDFLAGS = -nostdlib -znocombreloc -T $(EFI_LDS) -shared -Bsymbolic -L$(EFI_PATH) -L$(LIB_PATH) -LCryptlib -LCryptlib/OpenSSL $(EFI_CRT_OBJS)
|
||||||
|
|
||||||
|
VERSION = 0.8
|
||||||
|
|
||||||
|
TARGET = shim.efi MokManager.efi.signed fallback.efi.signed
|
||||||
|
OBJS = shim.o netboot.o cert.o replacements.o version.o
|
||||||
|
KEYS = shim_cert.h ocsp.* ca.* shim.crt shim.csr shim.p12 shim.pem shim.key shim.cer
|
||||||
|
SOURCES = shim.c shim.h netboot.c include/PeImage.h include/wincert.h include/console.h replacements.c replacements.h version.c version.h
|
||||||
|
MOK_OBJS = MokManager.o PasswordCrypt.o crypt_blowfish.o
|
||||||
|
MOK_SOURCES = MokManager.c shim.h include/console.h PasswordCrypt.c PasswordCrypt.h crypt_blowfish.c crypt_blowfish.h
|
||||||
|
FALLBACK_OBJS = fallback.o
|
||||||
|
FALLBACK_SRCS = fallback.c
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
shim.crt:
|
||||||
|
./make-certs shim shim@xn--u4h.net all codesign 1.3.6.1.4.1.311.10.3.1 </dev/null
|
||||||
|
|
||||||
|
shim.cer: shim.crt
|
||||||
|
openssl x509 -outform der -in $< -out $@
|
||||||
|
|
||||||
|
shim_cert.h: shim.cer
|
||||||
|
echo "static UINT8 shim_cert[] = {" > $@
|
||||||
|
hexdump -v -e '1/1 "0x%02x, "' $< >> $@
|
||||||
|
echo "};" >> $@
|
||||||
|
|
||||||
|
version.c : version.c.in
|
||||||
|
sed -e "s,@@VERSION@@,$(VERSION)," \
|
||||||
|
-e "s,@@UNAME@@,$(shell uname -a)," \
|
||||||
|
-e "s,@@COMMIT@@,$(shell if [ -d .git ] ; then git log -1 --pretty=format:%H ; elif [ -f commit ]; then cat commit ; else echo commit id not available; fi)," \
|
||||||
|
< version.c.in > version.c
|
||||||
|
|
||||||
|
certdb/secmod.db: shim.crt
|
||||||
|
-mkdir certdb
|
||||||
|
pk12util -d certdb/ -i shim.p12 -W "" -K ""
|
||||||
|
certutil -d certdb/ -A -i shim.crt -n shim -t u
|
||||||
|
|
||||||
|
shim.o: $(SOURCES) shim_cert.h
|
||||||
|
|
||||||
|
cert.o : cert.S
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
shim.so: $(OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
|
||||||
|
$(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS)
|
||||||
|
|
||||||
|
fallback.o: $(FALLBACK_SRCS)
|
||||||
|
|
||||||
|
fallback.so: $(FALLBACK_OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
|
||||||
|
$(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS)
|
||||||
|
|
||||||
|
MokManager.o: $(MOK_SOURCES)
|
||||||
|
|
||||||
|
MokManager.so: $(MOK_OBJS) Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a lib/lib.a
|
||||||
|
$(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS) lib/lib.a
|
||||||
|
|
||||||
|
Cryptlib/libcryptlib.a:
|
||||||
|
$(MAKE) -C Cryptlib
|
||||||
|
|
||||||
|
Cryptlib/OpenSSL/libopenssl.a:
|
||||||
|
$(MAKE) -C Cryptlib/OpenSSL
|
||||||
|
|
||||||
|
lib/lib.a:
|
||||||
|
$(MAKE) -C lib
|
||||||
|
|
||||||
|
ifeq ($(ARCH),aarch64)
|
||||||
|
FORMAT := -O binary
|
||||||
|
SUBSYSTEM := 0xa
|
||||||
|
LDFLAGS += --defsym=EFI_SUBSYSTEM=$(SUBSYSTEM)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH),arm)
|
||||||
|
FORMAT := -O binary
|
||||||
|
SUBSYSTEM := 0xa
|
||||||
|
LDFLAGS += --defsym=EFI_SUBSYSTEM=$(SUBSYSTEM)
|
||||||
|
endif
|
||||||
|
|
||||||
|
FORMAT ?= --target efi-app-$(ARCH)
|
||||||
|
|
||||||
|
%.efi: %.so
|
||||||
|
$(OBJCOPY) -j .text -j .sdata -j .data \
|
||||||
|
-j .dynamic -j .dynsym -j .rel* \
|
||||||
|
-j .rela* -j .reloc -j .eh_frame \
|
||||||
|
-j .vendor_cert \
|
||||||
|
$(FORMAT) $^ $@
|
||||||
|
$(OBJCOPY) -j .text -j .sdata -j .data \
|
||||||
|
-j .dynamic -j .dynsym -j .rel* \
|
||||||
|
-j .rela* -j .reloc -j .eh_frame \
|
||||||
|
-j .debug_info -j .debug_abbrev -j .debug_aranges \
|
||||||
|
-j .debug_line -j .debug_str -j .debug_ranges \
|
||||||
|
$(FORMAT) $^ $@.debug
|
||||||
|
|
||||||
|
%.efi.signed: %.efi shim.crt
|
||||||
|
sbsign --key shim.key --cert shim.crt $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -C Cryptlib clean
|
||||||
|
$(MAKE) -C Cryptlib/OpenSSL clean
|
||||||
|
$(MAKE) -C lib clean
|
||||||
|
rm -rf $(TARGET) $(OBJS) $(MOK_OBJS) $(FALLBACK_OBJS) $(KEYS) certdb
|
||||||
|
rm -f *.debug *.so *.efi *.tar.* version.c
|
||||||
|
|
||||||
|
GITTAG = $(VERSION)
|
||||||
|
|
||||||
|
test-archive:
|
||||||
|
@rm -rf /tmp/shim-$(VERSION) /tmp/shim-$(VERSION)-tmp
|
||||||
|
@mkdir -p /tmp/shim-$(VERSION)-tmp
|
||||||
|
@git archive --format=tar $(shell git branch | awk '/^*/ { print $$2 }') | ( cd /tmp/shim-$(VERSION)-tmp/ ; tar x )
|
||||||
|
@git diff | ( cd /tmp/shim-$(VERSION)-tmp/ ; patch -s -p1 -b -z .gitdiff )
|
||||||
|
@mv /tmp/shim-$(VERSION)-tmp/ /tmp/shim-$(VERSION)/
|
||||||
|
@git log -1 --pretty=format:%H > /tmp/shim-$(VERSION)/commit
|
||||||
|
@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/shim-$(VERSION).tar.bz2 shim-$(VERSION)
|
||||||
|
@rm -rf /tmp/shim-$(VERSION)
|
||||||
|
@echo "The archive is in shim-$(VERSION).tar.bz2"
|
||||||
|
|
||||||
|
tag:
|
||||||
|
git tag --sign $(GITTAG) refs/heads/master
|
||||||
|
|
||||||
|
archive: tag
|
||||||
|
@rm -rf /tmp/shim-$(VERSION) /tmp/shim-$(VERSION)-tmp
|
||||||
|
@mkdir -p /tmp/shim-$(VERSION)-tmp
|
||||||
|
@git archive --format=tar $(GITTAG) | ( cd /tmp/shim-$(VERSION)-tmp/ ; tar x )
|
||||||
|
@mv /tmp/shim-$(VERSION)-tmp/ /tmp/shim-$(VERSION)/
|
||||||
|
@git log -1 --pretty=format:%H > /tmp/shim-$(VERSION)/commit
|
||||||
|
@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/shim-$(VERSION).tar.bz2 shim-$(VERSION)
|
||||||
|
@rm -rf /tmp/shim-$(VERSION)
|
||||||
|
@echo "The archive is in shim-$(VERSION).tar.bz2"
|
||||||
|
|
||||||
|
export ARCH CC LD OBJCOPY EFI_INCLUDE
|
2017
.pc/gcc5-includes-stdarg.patch/MokManager.c
Normal file
2017
.pc/gcc5-includes-stdarg.patch/MokManager.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -34,7 +34,7 @@ typedef VOID *FILE;
|
|||||||
//
|
//
|
||||||
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
|
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
|
||||||
//
|
//
|
||||||
#if !defined(__CC_ARM) // if va_list is not already defined
|
#if !defined(__CC_ARM) || defined(_STDARG_H) // if va_list is not already defined
|
||||||
/*
|
/*
|
||||||
* These are now unconditionally #defined by GNU_EFI's efistdarg.h,
|
* These are now unconditionally #defined by GNU_EFI's efistdarg.h,
|
||||||
* so we should #undef them here before providing a new definition.
|
* so we should #undef them here before providing a new definition.
|
||||||
@ -94,7 +94,9 @@ typedef __builtin_va_list VA_LIST;
|
|||||||
portably, hence it is provided by a Standard C header file.
|
portably, hence it is provided by a Standard C header file.
|
||||||
For pre-Standard C compilers, here is a version that usually works
|
For pre-Standard C compilers, here is a version that usually works
|
||||||
(but watch out!): */
|
(but watch out!): */
|
||||||
|
#ifndef offsetof
|
||||||
#define offsetof(type, member) ( (int) & ((type*)0) -> member )
|
#define offsetof(type, member) ( (int) & ((type*)0) -> member )
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Basic types from EFI Application Toolkit required to buiild Open SSL
|
// Basic types from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
EFI_INCLUDES = -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
EFI_INCLUDES = -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
||||||
|
|
||||||
CFLAGS = -std=gnu89 -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
|
CFLAGS = -std=gnu89 -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
|
||||||
-Wall $(EFI_INCLUDES)
|
-Wall $(EFI_INCLUDES) \
|
||||||
|
-ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
|
||||||
ifeq ($(ARCH),x86_64)
|
ifeq ($(ARCH),x86_64)
|
||||||
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
EFI_INCLUDES = -I../Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
EFI_INCLUDES = -I../Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
||||||
|
|
||||||
CFLAGS = -std=gnu89 -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc \
|
CFLAGS = -std=gnu89 -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc \
|
||||||
|
-ffreestanding -I$(shell $(CC) -print-file-name=include) \
|
||||||
-Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC
|
-Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC
|
||||||
|
|
||||||
ifeq ($(ARCH),x86_64)
|
ifeq ($(ARCH),x86_64)
|
||||||
@ -13,10 +14,10 @@ ifeq ($(ARCH),ia32)
|
|||||||
-m32 -DTHIRTY_TWO_BIT
|
-m32 -DTHIRTY_TWO_BIT
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),aarch64)
|
ifeq ($(ARCH),aarch64)
|
||||||
CFLAGS += -O2 -DSIXTY_FOUR_BIT_LONG -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
CFLAGS += -O2 -DSIXTY_FOUR_BIT_LONG
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),arm)
|
ifeq ($(ARCH),arm)
|
||||||
CFLAGS += -O2 -DTHIRTY_TWO_BIT -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
CFLAGS += -O2 -DTHIRTY_TWO_BIT
|
||||||
endif
|
endif
|
||||||
LDFLAGS = -nostdlib -znocombreloc
|
LDFLAGS = -nostdlib -znocombreloc
|
||||||
|
|
||||||
|
17
Makefile
17
Makefile
@ -21,7 +21,8 @@ EFI_LDS = elf_$(ARCH)_efi.lds
|
|||||||
DEFAULT_LOADER := \\\\grubx64.efi
|
DEFAULT_LOADER := \\\\grubx64.efi
|
||||||
CFLAGS = -std=gnu89 -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
|
CFLAGS = -std=gnu89 -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
|
||||||
-fshort-wchar -Wall -Wsign-compare -Werror -fno-builtin \
|
-fshort-wchar -Wall -Wsign-compare -Werror -fno-builtin \
|
||||||
-Werror=sign-compare \
|
-Werror=sign-compare -ffreestanding \
|
||||||
|
-I$(shell $(CC) -print-file-name=include) \
|
||||||
"-DDEFAULT_LOADER=L\"$(DEFAULT_LOADER)\"" \
|
"-DDEFAULT_LOADER=L\"$(DEFAULT_LOADER)\"" \
|
||||||
"-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \
|
"-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \
|
||||||
$(EFI_INCLUDES)
|
$(EFI_INCLUDES)
|
||||||
@ -31,19 +32,13 @@ ifneq ($(origin OVERRIDE_SECURITY_POLICY), undefined)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ARCH),x86_64)
|
ifeq ($(ARCH),x86_64)
|
||||||
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \
|
||||||
|
-maccumulate-outgoing-args \
|
||||||
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
|
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),ia32)
|
ifeq ($(ARCH),ia32)
|
||||||
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args -m32
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \
|
||||||
endif
|
-maccumulate-outgoing-args -m32
|
||||||
|
|
||||||
ifeq ($(ARCH),aarch64)
|
|
||||||
CFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(ARCH),arm)
|
|
||||||
CFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(origin VENDOR_CERT_FILE), undefined)
|
ifneq ($(origin VENDOR_CERT_FILE), undefined)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <efi.h>
|
#include <efi.h>
|
||||||
#include <efilib.h>
|
#include <efilib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <Library/BaseCryptLib.h>
|
#include <Library/BaseCryptLib.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include "shim.h"
|
#include "shim.h"
|
||||||
|
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -4,6 +4,10 @@ shim (0.8-0ubuntu3) UNRELEASED; urgency=medium
|
|||||||
* Fix build with GCC 5, forcing -std=gnu89 to not rely on stdint.h
|
* Fix build with GCC 5, forcing -std=gnu89 to not rely on stdint.h
|
||||||
required by efibind.h, and not found with -nostdinc. (LP: #1429978)
|
required by efibind.h, and not found with -nostdinc. (LP: #1429978)
|
||||||
|
|
||||||
|
[ Mathieu Trudel-Lapierre ]
|
||||||
|
* More GCC 5 fixes: stdarg.h and other include tweaks, cherry-pick from
|
||||||
|
d51739a4.
|
||||||
|
|
||||||
-- Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com> Tue, 12 May 2015 21:43:35 -0400
|
-- Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com> Tue, 12 May 2015 21:43:35 -0400
|
||||||
|
|
||||||
shim (0.8-0ubuntu2) wily; urgency=medium
|
shim (0.8-0ubuntu2) wily; urgency=medium
|
||||||
|
129
debian/patches/gcc5-includes-stdarg.patch
vendored
Normal file
129
debian/patches/gcc5-includes-stdarg.patch
vendored
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
From d51739a416400ad348d8a1c7e3886abce11fff1b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Jones <pjones@redhat.com>
|
||||||
|
Date: Tue, 7 Apr 2015 11:59:25 -0400
|
||||||
|
Subject: [PATCH] gcc 5.0 changes some include bits, so copy what arm does on
|
||||||
|
x86.
|
||||||
|
|
||||||
|
Basically they messed around with stdarg some and now we need to do it
|
||||||
|
the other way.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||||
|
---
|
||||||
|
Cryptlib/Include/OpenSslSupport.h | 4 +++-
|
||||||
|
Cryptlib/Makefile | 3 ++-
|
||||||
|
Cryptlib/OpenSSL/Makefile | 5 +++--
|
||||||
|
Makefile | 17 ++++++-----------
|
||||||
|
MokManager.c | 1 +
|
||||||
|
5 files changed, 15 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
Index: b/Cryptlib/Include/OpenSslSupport.h
|
||||||
|
===================================================================
|
||||||
|
--- a/Cryptlib/Include/OpenSslSupport.h
|
||||||
|
+++ b/Cryptlib/Include/OpenSslSupport.h
|
||||||
|
@@ -34,7 +34,7 @@ typedef VOID *FILE;
|
||||||
|
//
|
||||||
|
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
|
||||||
|
//
|
||||||
|
-#if !defined(__CC_ARM) // if va_list is not already defined
|
||||||
|
+#if !defined(__CC_ARM) || defined(_STDARG_H) // if va_list is not already defined
|
||||||
|
/*
|
||||||
|
* These are now unconditionally #defined by GNU_EFI's efistdarg.h,
|
||||||
|
* so we should #undef them here before providing a new definition.
|
||||||
|
@@ -94,7 +94,9 @@ typedef __builtin_va_list VA_LIST;
|
||||||
|
portably, hence it is provided by a Standard C header file.
|
||||||
|
For pre-Standard C compilers, here is a version that usually works
|
||||||
|
(but watch out!): */
|
||||||
|
+#ifndef offsetof
|
||||||
|
#define offsetof(type, member) ( (int) & ((type*)0) -> member )
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Basic types from EFI Application Toolkit required to buiild Open SSL
|
||||||
|
Index: b/Cryptlib/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/Cryptlib/Makefile
|
||||||
|
+++ b/Cryptlib/Makefile
|
||||||
|
@@ -2,7 +2,8 @@
|
||||||
|
EFI_INCLUDES = -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
||||||
|
|
||||||
|
CFLAGS = -std=gnu89 -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
|
||||||
|
- -Wall $(EFI_INCLUDES)
|
||||||
|
+ -Wall $(EFI_INCLUDES) \
|
||||||
|
+ -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
||||||
|
Index: b/Cryptlib/OpenSSL/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/Cryptlib/OpenSSL/Makefile
|
||||||
|
+++ b/Cryptlib/OpenSSL/Makefile
|
||||||
|
@@ -2,6 +2,7 @@
|
||||||
|
EFI_INCLUDES = -I../Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
|
||||||
|
|
||||||
|
CFLAGS = -std=gnu89 -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc \
|
||||||
|
+ -ffreestanding -I$(shell $(CC) -print-file-name=include) \
|
||||||
|
-Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC
|
||||||
|
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
@@ -13,10 +14,10 @@ ifeq ($(ARCH),ia32)
|
||||||
|
-m32 -DTHIRTY_TWO_BIT
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),aarch64)
|
||||||
|
- CFLAGS += -O2 -DSIXTY_FOUR_BIT_LONG -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
+ CFLAGS += -O2 -DSIXTY_FOUR_BIT_LONG
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),arm)
|
||||||
|
- CFLAGS += -O2 -DTHIRTY_TWO_BIT -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
+ CFLAGS += -O2 -DTHIRTY_TWO_BIT
|
||||||
|
endif
|
||||||
|
LDFLAGS = -nostdlib -znocombreloc
|
||||||
|
|
||||||
|
Index: b/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -21,7 +21,8 @@ EFI_LDS = elf_$(ARCH)_efi.lds
|
||||||
|
DEFAULT_LOADER := \\\\grubx64.efi
|
||||||
|
CFLAGS = -std=gnu89 -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
|
||||||
|
-fshort-wchar -Wall -Wsign-compare -Werror -fno-builtin \
|
||||||
|
- -Werror=sign-compare \
|
||||||
|
+ -Werror=sign-compare -ffreestanding \
|
||||||
|
+ -I$(shell $(CC) -print-file-name=include) \
|
||||||
|
"-DDEFAULT_LOADER=L\"$(DEFAULT_LOADER)\"" \
|
||||||
|
"-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \
|
||||||
|
$(EFI_INCLUDES)
|
||||||
|
@@ -31,19 +32,13 @@ ifneq ($(origin OVERRIDE_SECURITY_POLICY
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
- CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
|
||||||
|
+ CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \
|
||||||
|
+ -maccumulate-outgoing-args \
|
||||||
|
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),ia32)
|
||||||
|
- CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args -m32
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
-ifeq ($(ARCH),aarch64)
|
||||||
|
- CFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
-ifeq ($(ARCH),arm)
|
||||||
|
- CFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include)
|
||||||
|
+ CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \
|
||||||
|
+ -maccumulate-outgoing-args -m32
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(origin VENDOR_CERT_FILE), undefined)
|
||||||
|
Index: b/MokManager.c
|
||||||
|
===================================================================
|
||||||
|
--- a/MokManager.c
|
||||||
|
+++ b/MokManager.c
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
#include <efi.h>
|
||||||
|
#include <efilib.h>
|
||||||
|
+#include <stdarg.h>
|
||||||
|
#include <Library/BaseCryptLib.h>
|
||||||
|
#include <openssl/x509.h>
|
||||||
|
#include "shim.h"
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -2,3 +2,4 @@ prototypes
|
|||||||
second-stage-path
|
second-stage-path
|
||||||
sbsigntool-not-pesign
|
sbsigntool-not-pesign
|
||||||
gcc-5.diff
|
gcc-5.diff
|
||||||
|
gcc5-includes-stdarg.patch
|
||||||
|
Loading…
Reference in New Issue
Block a user