remove compiler-rt's SDKs/linux files?

Saleem Abdulrasool compnerd at compnerd.org
Tue Nov 11 18:48:19 PST 2014


On Tue, Nov 11, 2014 at 12:44 PM, Bob Wilson <bob.wilson at apple.com> wrote:

> 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.
>

I made a previous change that removed the need for the stub SDK for Linux a
while ago for the builtins.  Im not sure if anyone is depending on it for
the sanitizers.  If not, I am more than happy to remove it.


> > 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
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
Saleem Abdulrasool
compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141111/a2fbb444/attachment.html>


More information about the llvm-commits mailing list