From 80258ba25b9f0a074af6e10bf6bf28d61b69771e Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Sequoia Date: Tue, 20 Dec 2016 12:41:21 -0800 Subject: [PATCH 4/4] Fix build issues pre-Lion due to missing a strnlen definition https://trac.macports.org/ticket/51520 https://llvm.org/bugs/show_bug.cgi?id=27714 Signed-off-by: Jeremy Huddleston Sequoia --- lib/ObjectYAML/MachOYAML.cpp | 14 ++++++++++++++ tools/obj2yaml/macho2yaml.cpp | 16 +++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git llvm_release_50/lib/ObjectYAML/MachOYAML.cpp macports_release_50/lib/ObjectYAML/MachOYAML.cpp index ab452a7bf6e..ace3743a73a 100644 --- llvm_release_50/lib/ObjectYAML/MachOYAML.cpp +++ macports_release_50/lib/ObjectYAML/MachOYAML.cpp @@ -22,6 +22,20 @@ #include #include +#ifdef __APPLE__ +#include +#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070 +static size_t strnlen(const char *s, size_t maxlen) { + size_t l = 0; + while (l < maxlen && *s) { + l++; + s++; + } + return l; +} +#endif +#endif + namespace llvm { MachOYAML::LoadCommand::~LoadCommand() = default; diff --git llvm_release_50/tools/obj2yaml/macho2yaml.cpp macports_release_50/tools/obj2yaml/macho2yaml.cpp index a1d107dc5af..01934da8078 100644 --- llvm_release_50/tools/obj2yaml/macho2yaml.cpp +++ macports_release_50/tools/obj2yaml/macho2yaml.cpp @@ -15,7 +15,21 @@ #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/LEB128.h" -#include // for memcpy +#include // for memcpy abd strnlen + +#ifdef __APPLE__ +#include +#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070 +static size_t strnlen(const char *s, size_t maxlen) { + size_t l = 0; + while (l < maxlen && *s) { + l++; + s++; + } + return l; +} +#endif +#endif using namespace llvm; -- 2.13.3