remove compiler-rt's SDKs/linux files?
Bob Wilson
bob.wilson at apple.com
Tue Nov 11 12:44:18 PST 2014
Is there a reason to keep the stub SDK for Linux? I don’t know if anyone is relying on that, and I can’t test any changes, but now that the stub SDK for Darwin is gone, it might also make sense to remove the one for Linux.
> On Nov 10, 2014, at 11:38 AM, Bob Wilson <bob.wilson at apple.com> wrote:
>
> Author: bwilson
> Date: Mon Nov 10 13:38:15 2014
> New Revision: 221621
>
> URL: http://llvm.org/viewvc/llvm-project?rev=221621&view=rev
> Log:
> Build Darwin libclang_rt libraries against real SDKs.
>
> The minimal fake SDK was very useful in allowing us to build for all
> Darwin platforms without needing access to the real SDKs, but it did
> not support building any of the sanitizer runtimes. It's important to
> fix that. As a consequence, if you don't have the iOS SDKs installed,
> we will now skip building the iOS-specific libclang_rt libraries.
> rdar://problem/18825276
>
> Removed:
> compiler-rt/trunk/SDKs/darwin/README.txt
> compiler-rt/trunk/SDKs/darwin/usr/include/errno.h
> compiler-rt/trunk/SDKs/darwin/usr/include/fcntl.h
> compiler-rt/trunk/SDKs/darwin/usr/include/inttypes.h
> compiler-rt/trunk/SDKs/darwin/usr/include/limits.h
> compiler-rt/trunk/SDKs/darwin/usr/include/stdio.h
> compiler-rt/trunk/SDKs/darwin/usr/include/stdlib.h
> compiler-rt/trunk/SDKs/darwin/usr/include/string.h
> compiler-rt/trunk/SDKs/darwin/usr/include/sys/errno.h
> compiler-rt/trunk/SDKs/darwin/usr/include/sys/fcntl.h
> compiler-rt/trunk/SDKs/darwin/usr/include/sys/mman.h
> compiler-rt/trunk/SDKs/darwin/usr/include/sys/stat.h
> compiler-rt/trunk/SDKs/darwin/usr/include/sys/types.h
> Modified:
> compiler-rt/trunk/CMakeLists.txt
> compiler-rt/trunk/make/platform/clang_darwin.mk
>
> Modified: compiler-rt/trunk/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/CMakeLists.txt?rev=221621&r1=221620&r2=221621&view=diff
> ==============================================================================
> --- compiler-rt/trunk/CMakeLists.txt (original)
> +++ compiler-rt/trunk/CMakeLists.txt Mon Nov 10 13:38:15 2014
> @@ -160,7 +160,6 @@ include(CompilerRTUtils)
> set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
> set(COMPILER_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
> # Setup custom SDK sysroots.
> -set(COMPILER_RT_DARWIN_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/darwin)
> set(COMPILER_RT_LINUX_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/linux)
>
> set(COMPILER_RT_EXTRA_ANDROID_HEADERS ${COMPILER_RT_SOURCE_DIR}/android/include)
>
> Removed: compiler-rt/trunk/SDKs/darwin/README.txt
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/README.txt?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/README.txt (original)
> +++ compiler-rt/trunk/SDKs/darwin/README.txt (removed)
> @@ -1,3 +0,0 @@
> -The Darwin platforms are all similar enough we roll them into one SDK, and use
> -preprocessor tricks to get the right definitions for the few things which
> -diverge between OS X and iOS.
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/errno.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/errno.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/errno.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/errno.h (removed)
> @@ -1,17 +0,0 @@
> -/* ===-- errno.h - stub SDK header for compiler-rt --------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#include <sys/errno.h>
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/fcntl.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/fcntl.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/fcntl.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/fcntl.h (removed)
> @@ -1,17 +0,0 @@
> -/* ===-- fcntl.h - stub SDK header for compiler-rt --------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#include <sys/fcntl.h>
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/inttypes.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/inttypes.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/inttypes.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/inttypes.h (removed)
> @@ -1,86 +0,0 @@
> -/* ===-- inttypes.h - stub SDK header for compiler-rt -----------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __INTTYPES_H__
> -#define __INTTYPES_H__
> -
> -#if __WORDSIZE == 64
> -#define __INTTYPE_PRI64__ "l"
> -#else
> -#define __INTTYPE_PRI64__ "ll"
> -#endif
> -
> -#define PRId8 "hhd"
> -#define PRId16 "hd"
> -#define PRId32 "d"
> -#define PRId64 __INTTYPE_PRI64__ "d"
> -
> -#define PRIi8 "hhi"
> -#define PRIi16 "hi"
> -#define PRIi32 "i"
> -#define PRIi64 __INTTYPE_PRI64__ "i"
> -
> -#define PRIo8 "hho"
> -#define PRIo16 "ho"
> -#define PRIo32 "o"
> -#define PRIo64 __INTTYPE_PRI64__ "o"
> -
> -#define PRIu8 "hhu"
> -#define PRIu16 "hu"
> -#define PRIu32 "u"
> -#define PRIu64 __INTTYPE_PRI64__ "u"
> -
> -#define PRIx8 "hhx"
> -#define PRIx16 "hx"
> -#define PRIx32 "x"
> -#define PRIx64 __INTTYPE_PRI64__ "x"
> -
> -#define PRIX8 "hhX"
> -#define PRIX16 "hX"
> -#define PRIX32 "X"
> -#define PRIX64 __INTTYPE_PRI64__ "X"
> -
> -#define SCNd8 "hhd"
> -#define SCNd16 "hd"
> -#define SCNd32 "d"
> -#define SCNd64 __INTTYPE_PRI64__ "d"
> -
> -#define SCNi8 "hhi"
> -#define SCNi16 "hi"
> -#define SCNi32 "i"
> -#define SCNi64 __INTTYPE_PRI64__ "i"
> -
> -#define SCNo8 "hho"
> -#define SCNo16 "ho"
> -#define SCNo32 "o"
> -#define SCNo64 __INTTYPE_PRI64__ "o"
> -
> -#define SCNu8 "hhu"
> -#define SCNu16 "hu"
> -#define SCNu32 "u"
> -#define SCNu64 __INTTYPE_PRI64__ "u"
> -
> -#define SCNx8 "hhx"
> -#define SCNx16 "hx"
> -#define SCNx32 "x"
> -#define SCNx64 __INTTYPE_PRI64__ "x"
> -
> -#define SCNX8 "hhX"
> -#define SCNX16 "hX"
> -#define SCNX32 "X"
> -#define SCNX64 __INTTYPE_PRI64__ "X"
> -
> -#endif /* __INTTYPES_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/limits.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/limits.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/limits.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/limits.h (removed)
> @@ -1,23 +0,0 @@
> -/* ===-- limits.h - stub SDK header for compiler-rt -------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __LIMITS_H__
> -#define __LIMITS_H__
> -
> -/* This is only here as a landing pad for the include_next from the compiler's
> - built-in limits.h. */
> -
> -#endif /* __LIMITS_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/stdio.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/stdio.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/stdio.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/stdio.h (removed)
> @@ -1,90 +0,0 @@
> -/* ===-- stdio.h - stub SDK header for compiler-rt --------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __STDIO_H__
> -#define __STDIO_H__
> -
> -#if defined(__cplusplus)
> -extern "C" {
> -#endif
> -
> -typedef struct __sFILE FILE;
> -typedef __SIZE_TYPE__ size_t;
> -
> -/* Determine the appropriate fdopen, fopen(), and fwrite() functions. */
> -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
> -# if defined(__i386)
> -# define __FDOPEN_NAME "_fdopen$UNIX2003"
> -# define __FOPEN_NAME "_fopen$UNIX2003"
> -# define __FWRITE_NAME "_fwrite$UNIX2003"
> -# elif defined(__x86_64__)
> -# define __FDOPEN_NAME "_fdopen"
> -# define __FOPEN_NAME "_fopen"
> -# define __FWRITE_NAME "_fwrite"
> -# elif defined(__arm) || defined(__arm64)
> -# define __FDOPEN_NAME "_fdopen"
> -# define __FOPEN_NAME "_fopen"
> -# define __FWRITE_NAME "_fwrite"
> -# else
> -# error "unrecognized architecture for targeting OS X"
> -# endif
> -#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
> -# if defined(__i386) || defined (__x86_64)
> -# define __FDOPEN_NAME "_fdopen"
> -# define __FOPEN_NAME "_fopen"
> -# define __FWRITE_NAME "_fwrite"
> -# elif defined(__arm) || defined(__arm64)
> -# define __FDOPEN_NAME "_fdopen"
> -# define __FOPEN_NAME "_fopen"
> -# define __FWRITE_NAME "_fwrite"
> -# else
> -# error "unrecognized architecture for targeting iOS"
> -# endif
> -#else
> -# error "unrecognized architecture for targeting Darwin"
> -#endif
> -
> -# define stderr __stderrp
> -extern FILE *__stderrp;
> -
> -#ifndef SEEK_SET
> -#define SEEK_SET 0 /* set file offset to offset */
> -#endif
> -#ifndef SEEK_CUR
> -#define SEEK_CUR 1 /* set file offset to current plus offset */
> -#endif
> -#ifndef SEEK_END
> -#define SEEK_END 2 /* set file offset to EOF plus offset */
> -#endif
> -
> -int fclose(FILE *);
> -int fflush(FILE *);
> -FILE *fopen(const char * __restrict, const char * __restrict) __asm(__FOPEN_NAME);
> -FILE *fdopen(int, const char *) __asm(__FDOPEN_NAME);
> -int fprintf(FILE * __restrict, const char * __restrict, ...);
> -int fputc(int, FILE *);
> -size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict)
> - __asm(__FWRITE_NAME);
> -size_t fread(void * __restrict, size_t, size_t, FILE * __restrict);
> -long ftell(FILE *);
> -int fseek(FILE *, long, int);
> -int snprintf(char * __restrict, size_t, const char * __restrict, ...);
> -
> -#if defined(__cplusplus)
> -}
> -#endif
> -
> -#endif /* __STDIO_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/stdlib.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/stdlib.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/stdlib.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/stdlib.h (removed)
> @@ -1,32 +0,0 @@
> -/* ===-- stdlib.h - stub SDK header for compiler-rt -------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __STDLIB_H__
> -#define __STDLIB_H__
> -
> -#define NULL ((void *)0)
> -
> -typedef __SIZE_TYPE__ size_t;
> -
> -void abort(void) __attribute__((__noreturn__));
> -int atexit(void (*)(void));
> -int atoi(const char *);
> -void free(void *);
> -char *getenv(const char *);
> -void *malloc(size_t);
> -void *realloc(void *, size_t);
> -
> -#endif /* __STDLIB_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/string.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/string.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/string.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/string.h (removed)
> @@ -1,52 +0,0 @@
> -/* ===-- string.h - stub SDK header for compiler-rt -------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __STRING_H__
> -#define __STRING_H__
> -
> -typedef __SIZE_TYPE__ size_t;
> -
> -int memcmp(const void *, const void *, size_t);
> -void *memcpy(void *, const void *, size_t);
> -void *memset(void *, int, size_t);
> -char *strcat(char *, const char *);
> -char *strcpy(char *, const char *);
> -char *strdup(const char *);
> -size_t strlen(const char *);
> -char *strncpy(char *, const char *, size_t);
> -
> -/* Determine the appropriate strerror() function. */
> -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
> -# if defined(__i386)
> -# define __STRERROR_NAME "_strerror$UNIX2003"
> -# elif defined(__x86_64__) || defined(__arm) || defined(__arm64)
> -# define __STRERROR_NAME "_strerror"
> -# else
> -# error "unrecognized architecture for targeting OS X"
> -# endif
> -#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
> -# if defined(__i386) || defined (__x86_64) || defined(__arm) || defined(__arm64)
> -# define __STRERROR_NAME "_strerror"
> -# else
> -# error "unrecognized architecture for targeting iOS"
> -# endif
> -#else
> -# error "unrecognized architecture for targeting Darwin"
> -#endif
> -
> -char *strerror(int) __asm(__STRERROR_NAME);
> -
> -#endif /* __STRING_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/sys/errno.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/sys/errno.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/sys/errno.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/sys/errno.h (removed)
> @@ -1,31 +0,0 @@
> -/* ===-- errno.h - stub SDK header for compiler-rt --------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef _SYS_ERRNO_H_
> -#define _SYS_ERRNO_H_
> -
> -#if defined(__cplusplus)
> -extern "C" {
> -#endif
> -
> -extern int *__error(void);
> -#define errno (*__error())
> -
> -#if defined(__cplusplus)
> -}
> -#endif
> -
> -#endif
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/sys/fcntl.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/sys/fcntl.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/sys/fcntl.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/sys/fcntl.h (removed)
> @@ -1,52 +0,0 @@
> -/* ===-- fcntl.h - stub SDK header for compiler-rt --------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef _SYS_FCNTL_H_
> -#define _SYS_FCNTL_H_
> -
> -/* Determine the appropriate open function. */
> -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
> -# if defined(__i386)
> -# define __OPEN_NAME "_open$UNIX2003"
> -# elif defined(__x86_64__)
> -# define __OPEN_NAME "_open"
> -# elif defined(__arm) || defined(__arm64)
> -# define __OPEN_NAME "_open"
> -# else
> -# error "unrecognized architecture for targeting OS X"
> -# endif
> -#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
> -# if defined(__i386) || defined (__x86_64)
> -# define __OPEN_NAME "_open"
> -# elif defined(__arm) || defined(__arm64)
> -# define __OPEN_NAME "_open"
> -# else
> -# error "unrecognized architecture for targeting iOS"
> -# endif
> -#else
> -# error "unrecognized architecture for targeting Darwin"
> -#endif
> -
> -#define O_RDONLY 0x0000 /* open for reading only */
> -#define O_WRONLY 0x0001 /* open for writing only */
> -#define O_RDWR 0x0002 /* open for reading and writing */
> -#define O_ACCMODE 0x0003 /* mask for above modes */
> -
> -#define O_CREAT 0x0200 /* create if nonexistent */
> -
> -int open(const char *, int, ...) __asm(__OPEN_NAME);
> -
> -#endif /* !_SYS_FCNTL_H_ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/sys/mman.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/sys/mman.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/sys/mman.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/sys/mman.h (removed)
> @@ -1,42 +0,0 @@
> -/* ===-- mman.h - stub SDK header for compiler-rt ---------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __SYS_MMAN_H__
> -#define __SYS_MMAN_H__
> -
> -typedef __SIZE_TYPE__ size_t;
> -
> -#define PROT_NONE 0x00
> -#define PROT_READ 0x01
> -#define PROT_WRITE 0x02
> -#define PROT_EXEC 0x04
> -
> -#define MAP_SHARED 0x0001
> -#define MAP_PRIVATE 0x0002
> -
> -#define MAP_FILE 0x0000
> -#define MAP_ANON 0x1000
> -
> -#define MS_ASYNC 0x0001
> -#define MS_INVALIDATE 0x0002
> -#define MS_SYNC 0x0010
> -
> -void *mmap(void *addr, size_t len, int prot, int flags, int fd,
> - long long offset);
> -int munmap(void *addr, size_t len);
> -int msync(void *addr, size_t len, int flags);
> -
> -#endif /* __SYS_MMAN_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/sys/stat.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/sys/stat.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/sys/stat.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/sys/stat.h (removed)
> @@ -1,25 +0,0 @@
> -/* ===-- stat.h - stub SDK header for compiler-rt ---------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __SYS_STAT_H__
> -#define __SYS_STAT_H__
> -
> -typedef unsigned short uint16_t;
> -typedef uint16_t mode_t;
> -
> -int mkdir(const char *, mode_t);
> -
> -#endif /* __SYS_STAT_H__ */
>
> Removed: compiler-rt/trunk/SDKs/darwin/usr/include/sys/types.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/SDKs/darwin/usr/include/sys/types.h?rev=221620&view=auto
> ==============================================================================
> --- compiler-rt/trunk/SDKs/darwin/usr/include/sys/types.h (original)
> +++ compiler-rt/trunk/SDKs/darwin/usr/include/sys/types.h (removed)
> @@ -1,20 +0,0 @@
> -/* ===-- types.h - stub SDK header for compiler-rt --------------------------===
> - *
> - * The LLVM Compiler Infrastructure
> - *
> - * This file is dual licensed under the MIT and the University of Illinois Open
> - * Source Licenses. See LICENSE.TXT for details.
> - *
> - * ===-----------------------------------------------------------------------===
> - *
> - * This is a stub SDK header file. This file is not part of the interface of
> - * this library nor an official version of the appropriate SDK header. It is
> - * intended only to stub the features of this header required by compiler-rt.
> - *
> - * ===-----------------------------------------------------------------------===
> - */
> -
> -#ifndef __SYS_TYPES_H__
> -#define __SYS_TYPES_H__
> -
> -#endif /* __SYS_TYPES_H__ */
>
> Modified: compiler-rt/trunk/make/platform/clang_darwin.mk
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/clang_darwin.mk?rev=221621&r1=221620&r2=221621&view=diff
> ==============================================================================
> --- compiler-rt/trunk/make/platform/clang_darwin.mk (original)
> +++ compiler-rt/trunk/make/platform/clang_darwin.mk Mon Nov 10 13:38:15 2014
> @@ -6,16 +6,21 @@
>
> Description := Static runtime libraries for clang/Darwin.
>
> -# A function that ensures we don't try to build for architectures that we
> -# don't have working toolchains for.
> +# A function that ensures we don't try to build for architectures and SDKs
> +# that we don't have working toolchains for. Arguments:
> +# (1): List of architectures
> +# (2): Library name
> +# (3): SDK path
> +# The result is a possibly empty subset of the architectures from argument 1.
> CheckArches = \
> $(shell \
> result=""; \
> - for arch in $(1); do \
> + if [ "X$(3)" != X ]; then \
> + for arch in $(1); do \
> if $(CC) -arch $$arch -c \
> -integrated-as \
> $(ProjSrcRoot)/make/platform/clang_darwin_test_input.c \
> - -isysroot $(ProjSrcRoot)/SDKs/darwin \
> + -isysroot $(3) \
> -o /dev/null > /dev/null 2> /dev/null; then \
> if $(LD) -v 2>&1 | grep "configured to support" \
> | tr ' ' '\n' | grep "^$$arch$$" >/dev/null 2>/dev/null; then \
> @@ -30,7 +35,8 @@ CheckArches = \
> "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'"; \
> printf 1>&2 " (clang does not support it)\n"; \
> fi; \
> - done; \
> + done; \
> + fi; \
> echo $$result)
>
> XCRun = \
> @@ -53,6 +59,10 @@ STRIP := $(call XCRun,strip)
> LIPO := $(call XCRun,lipo)
> DSYMUTIL := $(call XCRun,dsymutil)
>
> +OSX_SDK := $(call XCRunSdkPath,macosx)
> +IOS_SDK := $(call XCRunSdkPath,iphoneos)
> +IOSSIM_SDK := $(call XCRunSdkPath,iphonesimulator)
> +
> Configs :=
> UniversalArchs :=
>
> @@ -60,51 +70,53 @@ UniversalArchs :=
> # still be referenced from Darwin system headers. This symbol is only ever
> # needed on i386.
> Configs += eprintf
> -UniversalArchs.eprintf := $(call CheckArches,i386,eprintf)
> +UniversalArchs.eprintf := $(call CheckArches,i386,eprintf,$(OSX_SDK))
>
> # Configuration for targeting 10.4. We need a few functions missing from
> # libgcc_s.10.4.dylib. We only build x86 slices since clang doesn't really
> # support targeting PowerPC.
> Configs += 10.4
> -UniversalArchs.10.4 := $(call CheckArches,i386 x86_64,10.4)
> +UniversalArchs.10.4 := $(call CheckArches,i386 x86_64,10.4,$(OSX_SDK))
>
> # Configuration for targeting iOS for a couple of functions that didn't
> # make it into libSystem.
> Configs += ios
> -UniversalArchs.ios := $(call CheckArches,i386 x86_64 armv7 arm64,ios)
> +UniversalArchs.ios := $(call CheckArches,i386 x86_64,ios,$(IOSSIM_SDK))
> +UniversalArchs.ios += $(call CheckArches,armv7 arm64,ios,$(IOS_SDK))
>
> # Configuration for targeting OSX. These functions may not be in libSystem
> # so we should provide our own.
> Configs += osx
> -UniversalArchs.osx := $(call CheckArches,i386 x86_64 x86_64h,osx)
> +UniversalArchs.osx := $(call CheckArches,i386 x86_64 x86_64h,osx,$(OSX_SDK))
>
> # Configuration for use with kernel/kexts.
> Configs += cc_kext
> -UniversalArchs.cc_kext := $(call CheckArches,armv7 arm64 i386 x86_64 x86_64h,cc_kext)
> +UniversalArchs.cc_kext := $(call CheckArches,i386 x86_64 x86_64h,cc_kext,$(OSX_SDK))
> +UniversalArchs.cc_kext += $(call CheckArches,armv7 arm64,cc_kext,$(IOS_SDK))
>
> # Configuration for use with kernel/kexts for iOS 5.0 and earlier (which used
> -# a different code generation strategy).
> +# a different code generation strategy). Note: the x86_64 slice is unused but
> +# it avoids build problems (see pr14013).
> Configs += cc_kext_ios5
> -UniversalArchs.cc_kext_ios5 := $(call CheckArches,x86_64 armv7,cc_kext_ios5)
> +UniversalArchs.cc_kext_ios5 := $(call CheckArches,x86_64,cc_kext_ios5,$(IOSSIM_SDK))
> +UniversalArchs.cc_kext_ios5 += $(call CheckArches,armv7,cc_kext_ios5,$(IOS_SDK))
>
> # Configurations which define the profiling support functions.
> Configs += profile_osx
> -UniversalArchs.profile_osx := $(call CheckArches,i386 x86_64 x86_64h,profile_osx)
> +UniversalArchs.profile_osx := $(call CheckArches,i386 x86_64 x86_64h,profile_osx,$(OSX_SDK))
> Configs += profile_ios
> -UniversalArchs.profile_ios := $(call CheckArches,i386 x86_64 armv7 arm64,profile_ios)
> +UniversalArchs.profile_ios := $(call CheckArches,i386 x86_64,profile_ios,$(IOSSIM_SDK))
> +UniversalArchs.profile_ios += $(call CheckArches,armv7 arm64,profile_ios,$(IOS_SDK))
>
> # Configurations which define the ASAN support functions.
> Configs += asan_osx_dynamic
> -UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64 x86_64h,asan_osx_dynamic)
> +UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64 x86_64h,asan_osx_dynamic,$(OSX_SDK))
>
> -IOSSIM_SDK_PATH := $(call XCRunSdkPath,iphonesimulator)
> -ifneq ($(IOSSIM_SDK_PATH),)
> Configs += asan_iossim_dynamic
> -UniversalArchs.asan_iossim_dynamic := $(call CheckArches,i386 x86_64,asan_iossim_dynamic)
> -endif
> +UniversalArchs.asan_iossim_dynamic := $(call CheckArches,i386 x86_64,asan_iossim_dynamic,$(IOSSIM_SDK))
>
> Configs += ubsan_osx
> -UniversalArchs.ubsan_osx := $(call CheckArches,i386 x86_64 x86_64h,ubsan_osx)
> +UniversalArchs.ubsan_osx := $(call CheckArches,i386 x86_64 x86_64h,ubsan_osx,$(OSX_SDK))
>
> # Darwin 10.6 has a bug in cctools that makes it unable to use ranlib on our ARM
> # object files. If we are on that platform, strip out all ARM archs. We still
> @@ -119,17 +131,18 @@ endif
>
> # If RC_SUPPORTED_ARCHS is defined, treat it as a list of the architectures we
> # are intended to support and limit what we try to build to that.
> -#
> -# We make sure to remove empty configs if we end up dropping all the requested
> -# archs for a particular config.
> ifneq ($(RC_SUPPORTED_ARCHS),)
> $(foreach config,$(Configs),\
> $(call Set,UniversalArchs.$(config),\
> - $(filter $(RC_SUPPORTED_ARCHS),$(UniversalArchs.$(config))))\
> - $(if $(UniversalArchs.$(config)),,\
> - $(call Set,Configs,$(filter-out $(config),$(Configs)))))
> + $(filter $(RC_SUPPORTED_ARCHS),$(UniversalArchs.$(config))))
> endif
>
> +# Remove empty configs if we end up dropping all the requested
> +# archs for a particular config.
> +$(foreach config,$(Configs),\
> + $(if $(strip $(UniversalArchs.$(config))),,\
> + $(call Set,Configs,$(filter-out $(config),$(Configs)))))
> +
> ###
>
> # Forcibly strip off any -arch, as that totally breaks our universal support.
> @@ -147,28 +160,31 @@ IOS_DEPLOYMENT_ARGS := -mios-version-min
> IOS6_DEPLOYMENT_ARGS := -mios-version-min=6.0
> IOSSIM_DEPLOYMENT_ARGS := -mios-simulator-version-min=1.0
>
> -# Use our stub SDK as the sysroot to support more portable building.
> -OSX_DEPLOYMENT_ARGS += -isysroot $(ProjSrcRoot)/SDKs/darwin
> -IOS_DEPLOYMENT_ARGS += -isysroot $(ProjSrcRoot)/SDKs/darwin
> -IOS6_DEPLOYMENT_ARGS += -isysroot $(ProjSrcRoot)/SDKs/darwin
> -IOSSIM_DEPLOYMENT_ARGS += -isysroot $(ProjSrcRoot)/SDKs/darwin
> +OSX_DEPLOYMENT_ARGS += -isysroot $(OSX_SDK)
> +IOS_DEPLOYMENT_ARGS += -isysroot $(IOS_SDK)
> +IOS6_DEPLOYMENT_ARGS += -isysroot $(IOS_SDK)
> +IOSSIM_DEPLOYMENT_ARGS += -isysroot $(IOSSIM_SDK)
>
> CFLAGS.eprintf := $(CFLAGS) $(OSX_DEPLOYMENT_ARGS)
> CFLAGS.10.4 := $(CFLAGS) $(OSX_DEPLOYMENT_ARGS)
> -# FIXME: We can't build ASAN with our stub SDK yet.
> +
> CFLAGS.asan_osx_dynamic := \
> - $(CFLAGS) -mmacosx-version-min=10.7 -fno-builtin \
> + $(CFLAGS) -mmacosx-version-min=10.7 \
> + -isysroot $(OSX_SDK) \
> + -fno-builtin \
> -gline-tables-only \
> -DMAC_INTERPOSE_FUNCTIONS=1
>
> CFLAGS.asan_iossim_dynamic := \
> $(CFLAGS) -mios-simulator-version-min=7.0 \
> - -isysroot $(IOSSIM_SDK_PATH) \
> + -isysroot $(IOSSIM_SDK) \
> -fno-builtin \
> -gline-tables-only \
> -DMAC_INTERPOSE_FUNCTIONS=1
>
> -CFLAGS.ubsan_osx := $(CFLAGS) -mmacosx-version-min=10.6 -fno-builtin
> +CFLAGS.ubsan_osx := $(CFLAGS) -mmacosx-version-min=10.6 \
> + -isysroot $(OSX_SDK) \
> + -fno-builtin
>
> CFLAGS.ios.i386 := $(CFLAGS) $(IOSSIM_DEPLOYMENT_ARGS)
> CFLAGS.ios.x86_64 := $(CFLAGS) $(IOSSIM_DEPLOYMENT_ARGS)
> @@ -209,7 +225,7 @@ SHARED_LIBRARY.asan_iossim_dynamic := 1
> # or -Wl,-syslibroot.
> LDFLAGS.asan_iossim_dynamic := -undefined dynamic_lookup -install_name @rpath/libclang_rt.asan_iossim_dynamic.dylib \
> -Wl,-ios_simulator_version_min,7.0.0 \
> - -mios-simulator-version-min=7.0 -isysroot $(IOSSIM_SDK_PATH)
> + -mios-simulator-version-min=7.0 -isysroot $(IOSSIM_SDK)
>
> FUNCTIONS.eprintf := eprintf
> FUNCTIONS.10.4 := eprintf floatundidf floatundisf floatundixf
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list