Import of pkgsrc-2016Q3

This commit is contained in:
2016-10-14 07:49:11 +02:00
committed by Lionel Sambuc
parent 9d819b6d54
commit 1242aa1e36
35952 changed files with 949749 additions and 377083 deletions

1
devel/lldb/DESCR Normal file
View File

@@ -0,0 +1 @@
Next generation, high-performance debugger

141
devel/lldb/Makefile Normal file
View File

@@ -0,0 +1,141 @@
# $NetBSD: Makefile,v 1.3 2016/07/27 09:17:41 wiz Exp $
DISTNAME= lldb-3.8.1.src
PKGNAME= ${DISTNAME:S/.src//}
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
#MASTER_SITES= http://llvm.org/pre-releases/3.8.0/rc1/
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://lldb.org/
COMMENT= Next generation, high-performance debugger
LICENSE= modified-bsd
DEPENDS+= ${PYPKGPREFIX}-six-[0-9]*:../../lang/py-six
CONFIGURE_DIRS= ${WRKDIR}/build
CMAKE_ARG_PATH= ${WRKSRC}
USE_LANGUAGES= c c++
USE_CMAKE= yes
GCC_REQD+= 4.8
PY_PATCHPLIST= yes
PYTHON_VERSIONS_INCOMPATIBLE= 34 35 # compilation failure in 3.8.1 (3.8.0 worked)
CMAKE_ARGS+= -DLLVM_CONFIG=${LLVM_CONFIG_PATH}
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc
CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
REPLACE_PERL+= packages/Python/lldbsuite/test/attic/dotest.pl
REPLACE_PERL+= scripts/build-llvm.pl
REPLACE_PERL+= scripts/checkpoint-llvm.pl
REPLACE_PERL+= scripts/disasm-gdb-remote.pl
REPLACE_PERL+= scripts/generate-vers.pl
REPLACE_PERL+= scripts/sed-sources
REPLACE_PYTHON+= examples/darwin/heap_find/heap.py
REPLACE_PYTHON+= examples/python/cmdtemplate.py
REPLACE_PYTHON+= examples/python/crashlog.py
REPLACE_PYTHON+= examples/python/delta.py
REPLACE_PYTHON+= examples/python/disasm-stress-test.py
REPLACE_PYTHON+= examples/python/disasm.py
REPLACE_PYTHON+= examples/python/gdbremote.py
REPLACE_PYTHON+= examples/python/globals.py
REPLACE_PYTHON+= examples/python/lldb_module_utils.py
REPLACE_PYTHON+= examples/python/lldbtk.py
REPLACE_PYTHON+= examples/python/mach_o.py
REPLACE_PYTHON+= examples/python/memory.py
REPLACE_PYTHON+= examples/python/operating_system.py
REPLACE_PYTHON+= examples/python/performance.py
REPLACE_PYTHON+= examples/python/process_events.py
REPLACE_PYTHON+= examples/python/sbvalue.py
REPLACE_PYTHON+= examples/python/sources.py
REPLACE_PYTHON+= examples/python/stacks.py
REPLACE_PYTHON+= examples/python/symbolication.py
REPLACE_PYTHON+= examples/python/types.py
REPLACE_PYTHON+= examples/python/x86_64_linux_target_definition.py
REPLACE_PYTHON+= examples/python/x86_64_qemu_target_definition.py
REPLACE_PYTHON+= examples/python/x86_64_target_definition.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/attic/tester.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/bench.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/curses_results.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/dosep.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/functionalities/plugins/python_os_plugin/operating_system.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/functionalities/plugins/python_os_plugin/operating_system2.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/redo.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/test_runner/test/inferior.py
REPLACE_PYTHON+= packages/Python/lldbsuite/test/test_runner/test/process_control_tests.py
REPLACE_PYTHON+= scripts/Python/remote-build.py
REPLACE_PYTHON+= scripts/buildbot.py
REPLACE_PYTHON+= scripts/shush
REPLACE_PYTHON+= scripts/verify_api.py
REPLACE_PYTHON+= scripts/prepare_bindings.py
REPLACE_PYTHON+= test/dotest.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/FSM.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/astat.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/bd_client.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/bd_serv.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/cgishell.cgi
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/chess.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/chess2.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/chess3.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/df.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/fix_cvs_files.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/ftp.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/hive.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/monitor.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/passmass.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/python.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/rippy.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/script.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/ssh_tunnel.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/sshls.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/topip.py
REPLACE_PYTHON+= third_party/Python/module/pexpect-2.4/examples/uptime.py
REPLACE_PYTHON+= third_party/Python/module/progress/progress.py
REPLACE_PYTHON+= utils/git-svn/convert.py
REPLACE_PYTHON+= utils/lui/lui.py
REPLACE_PYTHON+= utils/lui/sandbox.py
REPLACE_PYTHON+= utils/misc/grep-svn-log.py
REPLACE_PYTHON+= utils/sync-source/syncsource.py
REPLACE_PYTHON+= utils/test/disasm.py
REPLACE_PYTHON+= utils/test/lldb-disasm.py
REPLACE_PYTHON+= utils/test/llvm-mc-shell.py
REPLACE_PYTHON+= utils/test/ras.py
REPLACE_PYTHON+= utils/test/run-dis.py
REPLACE_PYTHON+= utils/test/run-until-faulted.py
TEST_TARGET= check-lldb
TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
. if exists(/usr/include/panel.h)
CMAKE_ARGS+= -DLLDB_DISABLE_CURSES:BOOL=FALSE
. else
CMAKE_ARGS+= -DLLDB_DISABLE_CURSES:BOOL=TRUE
. endif
.endif
post-extract:
${RUN} mkdir -p ${WRKDIR}/build
.include "../../mk/readline.buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
DEPENDS+= llvm-${PKGVERSION_NOREV}{,nb*}:../../lang/llvm
.include "../../lang/llvm/buildlink3.mk"
DEPENDS+= clang-${PKGVERSION_NOREV}{,nb*}:../../lang/clang
.include "../../lang/clang/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/tool.mk"
.include "../../lang/python/extension.mk"
.include "../../devel/swig/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

590
devel/lldb/PLIST Normal file
View File

@@ -0,0 +1,590 @@
@comment $NetBSD: PLIST,v 1.2 2016/07/27 09:17:41 wiz Exp $
bin/lldb
bin/lldb-3.8.1
bin/lldb-argdumper
bin/lldb-mi
bin/lldb-mi-3.8.1
bin/lldb-server
bin/lldb-server-3.8.1
include/lldb/API/LLDB.h
include/lldb/API/SBAddress.h
include/lldb/API/SBAttachInfo.h
include/lldb/API/SBBlock.h
include/lldb/API/SBBreakpoint.h
include/lldb/API/SBBreakpointLocation.h
include/lldb/API/SBBroadcaster.h
include/lldb/API/SBCommandInterpreter.h
include/lldb/API/SBCommandReturnObject.h
include/lldb/API/SBCommunication.h
include/lldb/API/SBCompileUnit.h
include/lldb/API/SBData.h
include/lldb/API/SBDebugger.h
include/lldb/API/SBDeclaration.h
include/lldb/API/SBDefines.h
include/lldb/API/SBError.h
include/lldb/API/SBEvent.h
include/lldb/API/SBExecutionContext.h
include/lldb/API/SBExpressionOptions.h
include/lldb/API/SBFileSpec.h
include/lldb/API/SBFileSpecList.h
include/lldb/API/SBFrame.h
include/lldb/API/SBFunction.h
include/lldb/API/SBHostOS.h
include/lldb/API/SBInstruction.h
include/lldb/API/SBInstructionList.h
include/lldb/API/SBLanguageRuntime.h
include/lldb/API/SBLaunchInfo.h
include/lldb/API/SBLineEntry.h
include/lldb/API/SBListener.h
include/lldb/API/SBModule.h
include/lldb/API/SBModuleSpec.h
include/lldb/API/SBPlatform.h
include/lldb/API/SBProcess.h
include/lldb/API/SBQueue.h
include/lldb/API/SBQueueItem.h
include/lldb/API/SBSection.h
include/lldb/API/SBSourceManager.h
include/lldb/API/SBStream.h
include/lldb/API/SBStringList.h
include/lldb/API/SBSymbol.h
include/lldb/API/SBSymbolContext.h
include/lldb/API/SBSymbolContextList.h
include/lldb/API/SBTarget.h
include/lldb/API/SBThread.h
include/lldb/API/SBThreadCollection.h
include/lldb/API/SBThreadPlan.h
include/lldb/API/SBType.h
include/lldb/API/SBTypeCategory.h
include/lldb/API/SBTypeEnumMember.h
include/lldb/API/SBTypeFilter.h
include/lldb/API/SBTypeFormat.h
include/lldb/API/SBTypeNameSpecifier.h
include/lldb/API/SBTypeSummary.h
include/lldb/API/SBTypeSynthetic.h
include/lldb/API/SBUnixSignals.h
include/lldb/API/SBValue.h
include/lldb/API/SBValueList.h
include/lldb/API/SBVariablesOptions.h
include/lldb/API/SBWatchpoint.h
include/lldb/API/SystemInitializerFull.h
include/lldb/Breakpoint/Breakpoint.h
include/lldb/Breakpoint/BreakpointID.h
include/lldb/Breakpoint/BreakpointIDList.h
include/lldb/Breakpoint/BreakpointList.h
include/lldb/Breakpoint/BreakpointLocation.h
include/lldb/Breakpoint/BreakpointLocationCollection.h
include/lldb/Breakpoint/BreakpointLocationList.h
include/lldb/Breakpoint/BreakpointOptions.h
include/lldb/Breakpoint/BreakpointResolver.h
include/lldb/Breakpoint/BreakpointResolverAddress.h
include/lldb/Breakpoint/BreakpointResolverFileLine.h
include/lldb/Breakpoint/BreakpointResolverFileRegex.h
include/lldb/Breakpoint/BreakpointResolverName.h
include/lldb/Breakpoint/BreakpointSite.h
include/lldb/Breakpoint/BreakpointSiteList.h
include/lldb/Breakpoint/Stoppoint.h
include/lldb/Breakpoint/StoppointCallbackContext.h
include/lldb/Breakpoint/StoppointLocation.h
include/lldb/Breakpoint/Watchpoint.h
include/lldb/Breakpoint/WatchpointList.h
include/lldb/Breakpoint/WatchpointOptions.h
include/lldb/Core/Address.h
include/lldb/Core/AddressRange.h
include/lldb/Core/AddressResolver.h
include/lldb/Core/AddressResolverFileLine.h
include/lldb/Core/AddressResolverName.h
include/lldb/Core/ArchSpec.h
include/lldb/Core/Baton.h
include/lldb/Core/Broadcaster.h
include/lldb/Core/ClangForward.h
include/lldb/Core/Communication.h
include/lldb/Core/Connection.h
include/lldb/Core/ConnectionMachPort.h
include/lldb/Core/ConnectionSharedMemory.h
include/lldb/Core/ConstString.h
include/lldb/Core/CxaDemangle.h
include/lldb/Core/DataBuffer.h
include/lldb/Core/DataBufferHeap.h
include/lldb/Core/DataBufferMemoryMap.h
include/lldb/Core/DataEncoder.h
include/lldb/Core/DataExtractor.h
include/lldb/Core/Debugger.h
include/lldb/Core/Disassembler.h
include/lldb/Core/EmulateInstruction.h
include/lldb/Core/Error.h
include/lldb/Core/Event.h
include/lldb/Core/FastDemangle.h
include/lldb/Core/FileLineResolver.h
include/lldb/Core/FileSpecList.h
include/lldb/Core/Flags.h
include/lldb/Core/FormatEntity.h
include/lldb/Core/History.h
include/lldb/Core/IOHandler.h
include/lldb/Core/IOStreamMacros.h
include/lldb/Core/Listener.h
include/lldb/Core/LoadedModuleInfoList.h
include/lldb/Core/Log.h
include/lldb/Core/Logging.h
include/lldb/Core/Mangled.h
include/lldb/Core/MappedHash.h
include/lldb/Core/Module.h
include/lldb/Core/ModuleChild.h
include/lldb/Core/ModuleList.h
include/lldb/Core/ModuleSpec.h
include/lldb/Core/Opcode.h
include/lldb/Core/PluginInterface.h
include/lldb/Core/PluginManager.h
include/lldb/Core/RangeMap.h
include/lldb/Core/RegisterValue.h
include/lldb/Core/RegularExpression.h
include/lldb/Core/STLUtils.h
include/lldb/Core/Scalar.h
include/lldb/Core/SearchFilter.h
include/lldb/Core/Section.h
include/lldb/Core/SourceManager.h
include/lldb/Core/State.h
include/lldb/Core/Stream.h
include/lldb/Core/StreamAsynchronousIO.h
include/lldb/Core/StreamBuffer.h
include/lldb/Core/StreamCallback.h
include/lldb/Core/StreamFile.h
include/lldb/Core/StreamGDBRemote.h
include/lldb/Core/StreamString.h
include/lldb/Core/StreamTee.h
include/lldb/Core/StringList.h
include/lldb/Core/StructuredData.h
include/lldb/Core/ThreadSafeDenseMap.h
include/lldb/Core/ThreadSafeDenseSet.h
include/lldb/Core/ThreadSafeSTLMap.h
include/lldb/Core/ThreadSafeValue.h
include/lldb/Core/Timer.h
include/lldb/Core/UUID.h
include/lldb/Core/UniqueCStringMap.h
include/lldb/Core/UserID.h
include/lldb/Core/UserSettingsController.h
include/lldb/Core/VMRange.h
include/lldb/Core/Value.h
include/lldb/Core/ValueObject.h
include/lldb/Core/ValueObjectCast.h
include/lldb/Core/ValueObjectChild.h
include/lldb/Core/ValueObjectConstResult.h
include/lldb/Core/ValueObjectConstResultCast.h
include/lldb/Core/ValueObjectConstResultChild.h
include/lldb/Core/ValueObjectConstResultImpl.h
include/lldb/Core/ValueObjectDynamicValue.h
include/lldb/Core/ValueObjectList.h
include/lldb/Core/ValueObjectMemory.h
include/lldb/Core/ValueObjectRegister.h
include/lldb/Core/ValueObjectSyntheticFilter.h
include/lldb/Core/ValueObjectVariable.h
include/lldb/Core/dwarf.h
include/lldb/DataFormatters/CXXFunctionPointer.h
include/lldb/DataFormatters/DataVisualization.h
include/lldb/DataFormatters/DumpValueObjectOptions.h
include/lldb/DataFormatters/FormatCache.h
include/lldb/DataFormatters/FormatClasses.h
include/lldb/DataFormatters/FormatManager.h
include/lldb/DataFormatters/FormattersContainer.h
include/lldb/DataFormatters/FormattersHelpers.h
include/lldb/DataFormatters/LanguageCategory.h
include/lldb/DataFormatters/StringPrinter.h
include/lldb/DataFormatters/TypeCategory.h
include/lldb/DataFormatters/TypeCategoryMap.h
include/lldb/DataFormatters/TypeFormat.h
include/lldb/DataFormatters/TypeSummary.h
include/lldb/DataFormatters/TypeSynthetic.h
include/lldb/DataFormatters/TypeValidator.h
include/lldb/DataFormatters/ValueObjectPrinter.h
include/lldb/DataFormatters/VectorIterator.h
include/lldb/DataFormatters/VectorType.h
include/lldb/Expression/DWARFExpression.h
include/lldb/Expression/Expression.h
include/lldb/Expression/ExpressionParser.h
include/lldb/Expression/ExpressionSourceCode.h
include/lldb/Expression/ExpressionTypeSystemHelper.h
include/lldb/Expression/ExpressionVariable.h
include/lldb/Expression/FunctionCaller.h
include/lldb/Expression/IRDynamicChecks.h
include/lldb/Expression/IRExecutionUnit.h
include/lldb/Expression/IRInterpreter.h
include/lldb/Expression/IRMemoryMap.h
include/lldb/Expression/LLVMUserExpression.h
include/lldb/Expression/Materializer.h
include/lldb/Expression/REPL.h
include/lldb/Expression/UserExpression.h
include/lldb/Expression/UtilityFunction.h
include/lldb/Host/Condition.h
include/lldb/Host/Config.h
include/lldb/Host/ConnectionFileDescriptor.h
include/lldb/Host/Debug.h
include/lldb/Host/Editline.h
include/lldb/Host/Endian.h
include/lldb/Host/File.h
include/lldb/Host/FileCache.h
include/lldb/Host/FileSpec.h
include/lldb/Host/FileSystem.h
include/lldb/Host/Host.h
include/lldb/Host/HostGetOpt.h
include/lldb/Host/HostInfo.h
include/lldb/Host/HostInfoBase.h
include/lldb/Host/HostNativeProcess.h
include/lldb/Host/HostNativeProcessBase.h
include/lldb/Host/HostNativeThread.h
include/lldb/Host/HostNativeThreadBase.h
include/lldb/Host/HostNativeThreadForward.h
include/lldb/Host/HostProcess.h
include/lldb/Host/HostThread.h
include/lldb/Host/IOObject.h
include/lldb/Host/LockFile.h
include/lldb/Host/LockFileBase.h
include/lldb/Host/MainLoop.h
include/lldb/Host/MainLoopBase.h
include/lldb/Host/MonitoringProcessLauncher.h
include/lldb/Host/Mutex.h
include/lldb/Host/OptionParser.h
include/lldb/Host/Pipe.h
include/lldb/Host/PipeBase.h
include/lldb/Host/Predicate.h
include/lldb/Host/ProcessLauncher.h
include/lldb/Host/ProcessRunLock.h
include/lldb/Host/Socket.h
include/lldb/Host/SocketAddress.h
include/lldb/Host/StringConvert.h
include/lldb/Host/Symbols.h
include/lldb/Host/Terminal.h
include/lldb/Host/ThisThread.h
include/lldb/Host/ThreadLauncher.h
include/lldb/Host/Time.h
include/lldb/Host/TimeValue.h
include/lldb/Host/XML.h
include/lldb/Host/android/Android.h
include/lldb/Host/android/Config.h
include/lldb/Host/android/HostInfoAndroid.h
include/lldb/Host/android/ProcessLauncherAndroid.h
include/lldb/Host/common/GetOptInc.h
include/lldb/Host/common/NativeBreakpoint.h
include/lldb/Host/common/NativeBreakpointList.h
include/lldb/Host/common/NativeProcessProtocol.h
include/lldb/Host/common/NativeRegisterContext.h
include/lldb/Host/common/NativeRegisterContextRegisterInfo.h
include/lldb/Host/common/NativeThreadProtocol.h
include/lldb/Host/common/NativeWatchpointList.h
include/lldb/Host/common/SoftwareBreakpoint.h
include/lldb/Host/common/TCPSocket.h
include/lldb/Host/common/UDPSocket.h
include/lldb/Host/freebsd/Config.h
include/lldb/Host/freebsd/HostInfoFreeBSD.h
include/lldb/Host/freebsd/HostThreadFreeBSD.h
include/lldb/Host/linux/AbstractSocket.h
include/lldb/Host/linux/Config.h
include/lldb/Host/linux/HostInfoLinux.h
include/lldb/Host/linux/HostThreadLinux.h
include/lldb/Host/linux/Personality.h
include/lldb/Host/linux/Ptrace.h
include/lldb/Host/linux/Signalfd.h
include/lldb/Host/linux/Uio.h
include/lldb/Host/macosx/Config.h
include/lldb/Host/macosx/HostInfoMacOSX.h
include/lldb/Host/macosx/HostThreadMacOSX.h
include/lldb/Host/mingw/Config.h
include/lldb/Host/msvc/Config.h
include/lldb/Host/netbsd/Config.h
include/lldb/Host/netbsd/HostInfoNetBSD.h
include/lldb/Host/netbsd/HostThreadNetBSD.h
include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
include/lldb/Host/posix/DomainSocket.h
include/lldb/Host/posix/Fcntl.h
include/lldb/Host/posix/HostInfoPosix.h
include/lldb/Host/posix/HostProcessPosix.h
include/lldb/Host/posix/HostThreadPosix.h
include/lldb/Host/posix/LockFilePosix.h
include/lldb/Host/posix/MainLoopPosix.h
include/lldb/Host/posix/PipePosix.h
include/lldb/Host/posix/ProcessLauncherPosix.h
include/lldb/Host/windows/AutoHandle.h
include/lldb/Host/windows/ConnectionGenericFileWindows.h
include/lldb/Host/windows/HostInfoWindows.h
include/lldb/Host/windows/HostProcessWindows.h
include/lldb/Host/windows/HostThreadWindows.h
include/lldb/Host/windows/LockFileWindows.h
include/lldb/Host/windows/PipeWindows.h
include/lldb/Host/windows/ProcessLauncherWindows.h
include/lldb/Host/windows/editlinewin.h
include/lldb/Host/windows/win32.h
include/lldb/Host/windows/windows.h
include/lldb/Initialization/SystemInitializer.h
include/lldb/Initialization/SystemInitializerCommon.h
include/lldb/Initialization/SystemLifetimeManager.h
include/lldb/Interpreter/Args.h
include/lldb/Interpreter/CommandCompletions.h
include/lldb/Interpreter/CommandHistory.h
include/lldb/Interpreter/CommandInterpreter.h
include/lldb/Interpreter/CommandObject.h
include/lldb/Interpreter/CommandObjectMultiword.h
include/lldb/Interpreter/CommandObjectRegexCommand.h
include/lldb/Interpreter/CommandOptionValidators.h
include/lldb/Interpreter/CommandReturnObject.h
include/lldb/Interpreter/OptionGroupArchitecture.h
include/lldb/Interpreter/OptionGroupBoolean.h
include/lldb/Interpreter/OptionGroupFile.h
include/lldb/Interpreter/OptionGroupFormat.h
include/lldb/Interpreter/OptionGroupOutputFile.h
include/lldb/Interpreter/OptionGroupPlatform.h
include/lldb/Interpreter/OptionGroupString.h
include/lldb/Interpreter/OptionGroupUInt64.h
include/lldb/Interpreter/OptionGroupUUID.h
include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
include/lldb/Interpreter/OptionGroupVariable.h
include/lldb/Interpreter/OptionGroupWatchpoint.h
include/lldb/Interpreter/OptionValue.h
include/lldb/Interpreter/OptionValueArch.h
include/lldb/Interpreter/OptionValueArgs.h
include/lldb/Interpreter/OptionValueArray.h
include/lldb/Interpreter/OptionValueBoolean.h
include/lldb/Interpreter/OptionValueChar.h
include/lldb/Interpreter/OptionValueDictionary.h
include/lldb/Interpreter/OptionValueEnumeration.h
include/lldb/Interpreter/OptionValueFileSpec.h
include/lldb/Interpreter/OptionValueFileSpecList.h
include/lldb/Interpreter/OptionValueFormat.h
include/lldb/Interpreter/OptionValueFormatEntity.h
include/lldb/Interpreter/OptionValueLanguage.h
include/lldb/Interpreter/OptionValuePathMappings.h
include/lldb/Interpreter/OptionValueProperties.h
include/lldb/Interpreter/OptionValueRegex.h
include/lldb/Interpreter/OptionValueSInt64.h
include/lldb/Interpreter/OptionValueString.h
include/lldb/Interpreter/OptionValueUInt64.h
include/lldb/Interpreter/OptionValueUUID.h
include/lldb/Interpreter/OptionValues.h
include/lldb/Interpreter/Options.h
include/lldb/Interpreter/Property.h
include/lldb/Interpreter/ScriptInterpreter.h
include/lldb/Symbol/ArmUnwindInfo.h
include/lldb/Symbol/Block.h
include/lldb/Symbol/ClangASTContext.h
include/lldb/Symbol/ClangASTImporter.h
include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
include/lldb/Symbol/ClangExternalASTSourceCommon.h
include/lldb/Symbol/CompactUnwindInfo.h
include/lldb/Symbol/CompileUnit.h
include/lldb/Symbol/CompilerDecl.h
include/lldb/Symbol/CompilerDeclContext.h
include/lldb/Symbol/CompilerType.h
include/lldb/Symbol/DWARFCallFrameInfo.h
include/lldb/Symbol/DebugMacros.h
include/lldb/Symbol/DeclVendor.h
include/lldb/Symbol/Declaration.h
include/lldb/Symbol/FuncUnwinders.h
include/lldb/Symbol/Function.h
include/lldb/Symbol/GoASTContext.h
include/lldb/Symbol/LineEntry.h
include/lldb/Symbol/LineTable.h
include/lldb/Symbol/ObjectContainer.h
include/lldb/Symbol/ObjectFile.h
include/lldb/Symbol/Symbol.h
include/lldb/Symbol/SymbolContext.h
include/lldb/Symbol/SymbolContextScope.h
include/lldb/Symbol/SymbolFile.h
include/lldb/Symbol/SymbolVendor.h
include/lldb/Symbol/Symtab.h
include/lldb/Symbol/TaggedASTType.h
include/lldb/Symbol/Type.h
include/lldb/Symbol/TypeList.h
include/lldb/Symbol/TypeMap.h
include/lldb/Symbol/TypeSystem.h
include/lldb/Symbol/UnwindPlan.h
include/lldb/Symbol/UnwindTable.h
include/lldb/Symbol/Variable.h
include/lldb/Symbol/VariableList.h
include/lldb/Symbol/VerifyDecl.h
include/lldb/Target/ABI.h
include/lldb/Target/CPPLanguageRuntime.h
include/lldb/Target/DynamicLoader.h
include/lldb/Target/ExecutionContext.h
include/lldb/Target/ExecutionContextScope.h
include/lldb/Target/FileAction.h
include/lldb/Target/InstrumentationRuntime.h
include/lldb/Target/InstrumentationRuntimeStopInfo.h
include/lldb/Target/JITLoader.h
include/lldb/Target/JITLoaderList.h
include/lldb/Target/Language.h
include/lldb/Target/LanguageRuntime.h
include/lldb/Target/Memory.h
include/lldb/Target/MemoryHistory.h
include/lldb/Target/MemoryRegionInfo.h
include/lldb/Target/ObjCLanguageRuntime.h
include/lldb/Target/OperatingSystem.h
include/lldb/Target/PathMappingList.h
include/lldb/Target/Platform.h
include/lldb/Target/Process.h
include/lldb/Target/ProcessInfo.h
include/lldb/Target/ProcessLaunchInfo.h
include/lldb/Target/Queue.h
include/lldb/Target/QueueItem.h
include/lldb/Target/QueueList.h
include/lldb/Target/RegisterCheckpoint.h
include/lldb/Target/RegisterContext.h
include/lldb/Target/SectionLoadHistory.h
include/lldb/Target/SectionLoadList.h
include/lldb/Target/StackFrame.h
include/lldb/Target/StackFrameList.h
include/lldb/Target/StackID.h
include/lldb/Target/StopInfo.h
include/lldb/Target/SystemRuntime.h
include/lldb/Target/Target.h
include/lldb/Target/TargetList.h
include/lldb/Target/Thread.h
include/lldb/Target/ThreadCollection.h
include/lldb/Target/ThreadList.h
include/lldb/Target/ThreadPlan.h
include/lldb/Target/ThreadPlanBase.h
include/lldb/Target/ThreadPlanCallFunction.h
include/lldb/Target/ThreadPlanCallFunctionUsingABI.h
include/lldb/Target/ThreadPlanCallUserExpression.h
include/lldb/Target/ThreadPlanPython.h
include/lldb/Target/ThreadPlanRunToAddress.h
include/lldb/Target/ThreadPlanShouldStopHere.h
include/lldb/Target/ThreadPlanStepInRange.h
include/lldb/Target/ThreadPlanStepInstruction.h
include/lldb/Target/ThreadPlanStepOut.h
include/lldb/Target/ThreadPlanStepOverBreakpoint.h
include/lldb/Target/ThreadPlanStepOverRange.h
include/lldb/Target/ThreadPlanStepRange.h
include/lldb/Target/ThreadPlanStepThrough.h
include/lldb/Target/ThreadPlanStepUntil.h
include/lldb/Target/ThreadPlanTracer.h
include/lldb/Target/ThreadSpec.h
include/lldb/Target/UnixSignals.h
include/lldb/Target/Unwind.h
include/lldb/Target/UnwindAssembly.h
include/lldb/Utility/AnsiTerminal.h
include/lldb/Utility/CleanUp.h
include/lldb/Utility/ConvertEnum.h
include/lldb/Utility/Either.h
include/lldb/Utility/Iterable.h
include/lldb/Utility/JSON.h
include/lldb/Utility/LLDBAssert.h
include/lldb/Utility/NameMatches.h
include/lldb/Utility/PriorityPointerPair.h
include/lldb/Utility/ProcessStructReader.h
include/lldb/Utility/PseudoTerminal.h
include/lldb/Utility/Range.h
include/lldb/Utility/RegisterNumber.h
include/lldb/Utility/SafeMachO.h
include/lldb/Utility/SharedCluster.h
include/lldb/Utility/SharingPtr.h
include/lldb/Utility/StringExtractor.h
include/lldb/Utility/StringLexer.h
include/lldb/Utility/TaskPool.h
include/lldb/Utility/Utils.h
include/lldb/Utility/regcclass.h
include/lldb/Utility/regcname.h
include/lldb/Utility/regex2.h
include/lldb/Utility/regex_impl.h
include/lldb/Utility/regutils.h
include/lldb/lldb-defines.h
include/lldb/lldb-enumerations.h
include/lldb/lldb-forward.h
include/lldb/lldb-private-enumerations.h
include/lldb/lldb-private-forward.h
include/lldb/lldb-private-interfaces.h
include/lldb/lldb-private-types.h
include/lldb/lldb-private.h
include/lldb/lldb-public.h
include/lldb/lldb-types.h
include/lldb/lldb-versioning.h
lib/liblldb.so
lib/liblldb.so.3.8.1
lib/liblldbBase.a
lib/liblldbBreakpoint.a
lib/liblldbCommands.a
lib/liblldbCore.a
lib/liblldbDataFormatters.a
lib/liblldbExpression.a
lib/liblldbHost.a
lib/liblldbInitialization.a
lib/liblldbInterpreter.a
lib/liblldbPluginABIMacOSX_arm.a
lib/liblldbPluginABIMacOSX_arm64.a
lib/liblldbPluginABIMacOSX_i386.a
lib/liblldbPluginABISysV_arm.a
lib/liblldbPluginABISysV_arm64.a
lib/liblldbPluginABISysV_hexagon.a
lib/liblldbPluginABISysV_i386.a
lib/liblldbPluginABISysV_mips.a
lib/liblldbPluginABISysV_mips64.a
lib/liblldbPluginABISysV_ppc.a
lib/liblldbPluginABISysV_ppc64.a
lib/liblldbPluginABISysV_x86_64.a
lib/liblldbPluginAppleObjCRuntime.a
lib/liblldbPluginCPlusPlusLanguage.a
lib/liblldbPluginCXXItaniumABI.a
lib/liblldbPluginDisassemblerLLVM.a
lib/liblldbPluginDynamicLoaderHexagonDYLD.a
lib/liblldbPluginDynamicLoaderMacOSXDYLD.a
lib/liblldbPluginDynamicLoaderPosixDYLD.a
lib/liblldbPluginDynamicLoaderStatic.a
lib/liblldbPluginDynamicLoaderWindowsDYLD.a
lib/liblldbPluginExpressionParserClang.a
lib/liblldbPluginExpressionParserGo.a
lib/liblldbPluginGoLanguage.a
lib/liblldbPluginInstructionARM.a
lib/liblldbPluginInstructionARM64.a
lib/liblldbPluginInstructionMIPS.a
lib/liblldbPluginInstructionMIPS64.a
lib/liblldbPluginInstrumentationRuntimeAddressSanitizer.a
lib/liblldbPluginJITLoaderGDB.a
lib/liblldbPluginLanguageRuntimeGo.a
lib/liblldbPluginMemoryHistoryASan.a
lib/liblldbPluginOSGo.a
lib/liblldbPluginOSPython.a
lib/liblldbPluginObjCLanguage.a
lib/liblldbPluginObjCPlusPlusLanguage.a
lib/liblldbPluginObjectContainerBSDArchive.a
lib/liblldbPluginObjectContainerMachOArchive.a
lib/liblldbPluginObjectFileELF.a
lib/liblldbPluginObjectFileJIT.a
lib/liblldbPluginObjectFileMachO.a
lib/liblldbPluginObjectFilePECOFF.a
lib/liblldbPluginPlatformAndroid.a
lib/liblldbPluginPlatformFreeBSD.a
lib/liblldbPluginPlatformGDB.a
lib/liblldbPluginPlatformKalimba.a
lib/liblldbPluginPlatformLinux.a
lib/liblldbPluginPlatformMacOSX.a
lib/liblldbPluginPlatformNetBSD.a
lib/liblldbPluginPlatformPOSIX.a
lib/liblldbPluginPlatformWindows.a
lib/liblldbPluginProcessElfCore.a
lib/liblldbPluginProcessGDBRemote.a
lib/liblldbPluginProcessMachCore.a
lib/liblldbPluginProcessPOSIX.a
lib/liblldbPluginProcessUtility.a
lib/liblldbPluginRenderScriptRuntime.a
lib/liblldbPluginScriptInterpreterNone.a
lib/liblldbPluginScriptInterpreterPython.a
lib/liblldbPluginSymbolFileDWARF.a
lib/liblldbPluginSymbolFileSymtab.a
lib/liblldbPluginSymbolVendorELF.a
lib/liblldbPluginSystemRuntimeMacOSX.a
lib/liblldbPluginUnwindAssemblyInstEmulation.a
lib/liblldbPluginUnwindAssemblyX86.a
lib/liblldbSymbol.a
lib/liblldbTarget.a
lib/liblldbUtility.a
${PYSITELIB}/lldb/__init__.py
${PYSITELIB}/lldb/_lldb.so
${PYSITELIB}/lldb/embedded_interpreter.py
${PYSITELIB}/lldb/formatters/Logger.py
${PYSITELIB}/lldb/formatters/__init__.py
${PYSITELIB}/lldb/formatters/attrib_fromdict.py
${PYSITELIB}/lldb/formatters/cache.py
${PYSITELIB}/lldb/formatters/cpp/__init__.py
${PYSITELIB}/lldb/formatters/cpp/gnu_libstdcpp.py
${PYSITELIB}/lldb/formatters/cpp/libcxx.py
${PYSITELIB}/lldb/formatters/metrics.py
${PYSITELIB}/lldb/lldb-argdumper
${PYSITELIB}/lldb/runtime/__init__.py
${PYSITELIB}/lldb/utils/__init__.py
${PYSITELIB}/lldb/utils/symbolication.py

18
devel/lldb/buildlink3.mk Normal file
View File

@@ -0,0 +1,18 @@
# $NetBSD: buildlink3.mk,v 1.1 2016/03/28 13:13:54 kamil Exp $
BUILDLINK_TREE+= lldb
.if !defined(LLDB_BUILDLINK3_MK)
LLDB_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.lldb+= lldb>=3.8.0
BUILDLINK_PKGSRCDIR.lldb?= ../../devel/lldb
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../lang/llvm/buildlink3.mk"
.include "../../lang/clang/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../devel/swig/buildlink3.mk"
.endif # LLDB_BUILDLINK3_MK
BUILDLINK_TREE+= -lldb

28
devel/lldb/distinfo Normal file
View File

@@ -0,0 +1,28 @@
$NetBSD: distinfo,v 1.2 2016/07/27 09:17:41 wiz Exp $
SHA1 (lldb-3.8.1.src.tar.xz) = 20ecd2d20d95b25ed84fd707f3851bb567d750cb
RMD160 (lldb-3.8.1.src.tar.xz) = e080bb734bcba419472acc0619fc7affb6209104
SHA512 (lldb-3.8.1.src.tar.xz) = d73c55daed6ef5e5ca784c7010f2d75be26024b14fa61a2861a8a6cbe129e417fb7be2a3b532e17e9d7de98ae38ce6a689d8166049eff365fb04f4bd772758f3
Size (lldb-3.8.1.src.tar.xz) = 10928220 bytes
SHA1 (patch-cmake_modules_LLDBStandalone.cmake) = 1b8d85d5aa4ac35d4b303a1dc7754ce63cf96cb0
SHA1 (patch-include_lldb_Utility_regcclass.h) = 9ed649e8deb5924feaf82a6e675f5c596367b3d6
SHA1 (patch-include_lldb_Utility_regcname.h) = b67145f0437d3c09adc33a925d49267cd9ba4fd7
SHA1 (patch-include_lldb_Utility_regengine.inc) = a031c43a63acab80a97cfb7727326d610d4ad9ab
SHA1 (patch-include_lldb_Utility_regex2.h) = 822a47b1221368ec5442bfbdbc20fe4e370c1a6b
SHA1 (patch-include_lldb_Utility_regex__impl.h) = 4d99669a756bd662ae28abc8cefe6e1538ef84b6
SHA1 (patch-include_lldb_Utility_regutils.h) = ea36409f8cd05dcf9b81144cbc136abc5fc3a190
SHA1 (patch-scripts_CMakeLists.txt) = 07043853b1a923aa8fcb9124b79453eca21c01fb
SHA1 (patch-scripts_Python_finishSwigPythonLLDB.py) = fc0723771d886f0f174f25d91dac85376376af79
SHA1 (patch-scripts_Python_modules_readline_readline.cpp) = 4a030226c47cf7d54ebc727e92e278c163e48bf5
SHA1 (patch-source_Utility_CMakeLists.txt) = 5b10fe94d76135d8d5ba31862066841394dd45c1
SHA1 (patch-source_Utility_regcomp.c) = bd315000773bab38b6fe6d119420afbcb5b83a59
SHA1 (patch-source_Utility_regerror.c) = 6bbf8dc3f12e64515d166a475452f3f08d849ad3
SHA1 (patch-source_Utility_regexec.c) = 6e523b4d00d74fb51d5971d415fd3d0a8323461b
SHA1 (patch-source_Utility_regfree.c) = a3033a951c2773b5fd1209ee2a60be2e042970ee
SHA1 (patch-source_Utility_regstrlcpy.c) = 284dc5d06d88e243fb91a1225008319b282d6fdc
SHA1 (patch-tools_lldb-mi_MICmnBase.cpp) = c673fa0c89c509a3c6acad1d5b154396cacb9bb2
SHA1 (patch-tools_lldb-mi_MICmnBase.h) = 07355c151ee67a71da95056b15d9efee7b033de3
SHA1 (patch-tools_lldb-mi_MIDriver.cpp) = 14c529a92d37a4a83221013e49b6ed18ef404e3b
SHA1 (patch-tools_lldb-mi_MIUtilParse.h) = cbd524e70c10cee25e44f1befe594a7198b008b9
SHA1 (patch-tools_lldb-mi_MIUtilString.cpp) = fb6266ce614eec8a4836fd02a34d5a2ea94c7480
SHA1 (patch-tools_lldb-mi_MIUtilString.h) = 34419e7f3bfccb6f669ae3075a5a27dd1064d202

View File

@@ -0,0 +1,152 @@
$NetBSD: patch-cmake_modules_LLDBStandalone.cmake,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- cmake/modules/LLDBStandalone.cmake.orig 2015-11-10 18:09:14.000000000 +0000
+++ cmake/modules/LLDBStandalone.cmake
@@ -6,57 +6,78 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
- set(LLDB_PATH_TO_LLVM_SOURCE "" CACHE PATH
- "Path to LLVM source code. Not necessary if using an installed LLVM.")
- set(LLDB_PATH_TO_LLVM_BUILD "" CACHE PATH
- "Path to the directory where LLVM was built or installed.")
-
- set(LLDB_PATH_TO_CLANG_SOURCE "" CACHE PATH
- "Path to Clang source code. Not necessary if using an installed Clang.")
- set(LLDB_PATH_TO_CLANG_BUILD "" CACHE PATH
- "Path to the directory where Clang was built or installed.")
-
- if (LLDB_PATH_TO_LLVM_SOURCE)
- if (NOT EXISTS "${LLDB_PATH_TO_LLVM_SOURCE}/cmake/config-ix.cmake")
- message(FATAL_ERROR "Please set LLDB_PATH_TO_LLVM_SOURCE to the root "
- "directory of LLVM source code.")
+ # Rely on llvm-config.
+ set(CONFIG_OUTPUT)
+ find_program(LLVM_CONFIG "llvm-config")
+ if(LLVM_CONFIG)
+ message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}")
+ set(CONFIG_COMMAND ${LLVM_CONFIG}
+ "--assertion-mode"
+ "--bindir"
+ "--libdir"
+ "--includedir"
+ "--prefix"
+ "--src-root")
+ execute_process(
+ COMMAND ${CONFIG_COMMAND}
+ RESULT_VARIABLE HAD_ERROR
+ OUTPUT_VARIABLE CONFIG_OUTPUT
+ )
+ if(NOT HAD_ERROR)
+ string(REGEX REPLACE
+ "[ \t]*[\r\n]+[ \t]*" ";"
+ CONFIG_OUTPUT ${CONFIG_OUTPUT})
+
else()
- get_filename_component(LLVM_MAIN_SRC_DIR ${LLDB_PATH_TO_LLVM_SOURCE}
- ABSOLUTE)
- set(LLVM_MAIN_INCLUDE_DIR "${LLVM_MAIN_SRC_DIR}/include")
- list(APPEND CMAKE_MODULE_PATH "${LLVM_MAIN_SRC_DIR}/cmake/modules")
+ string(REPLACE ";" " " CONFIG_COMMAND_STR "${CONFIG_COMMAND}")
+ message(STATUS "${CONFIG_COMMAND_STR}")
+ message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
endif()
- endif()
-
- if (LLDB_PATH_TO_CLANG_SOURCE)
- get_filename_component(CLANG_MAIN_SRC_DIR ${LLDB_PATH_TO_CLANG_SOURCE}
- ABSOLUTE)
- set(CLANG_MAIN_INCLUDE_DIR "${CLANG_MAIN_SRC_DIR}/include")
- endif()
-
- list(APPEND CMAKE_MODULE_PATH "${LLDB_PATH_TO_LLVM_BUILD}/share/llvm/cmake")
-
- if (LLDB_PATH_TO_LLVM_BUILD)
- get_filename_component(PATH_TO_LLVM_BUILD ${LLDB_PATH_TO_LLVM_BUILD}
- ABSOLUTE)
else()
- message(FATAL_ERROR "Please set LLDB_PATH_TO_LLVM_BUILD to the root "
- "directory of LLVM build or install site.")
+ message(FATAL_ERROR "llvm-config not found -- ${LLVM_CONFIG}")
endif()
- if (LLDB_PATH_TO_CLANG_BUILD)
- get_filename_component(PATH_TO_CLANG_BUILD ${LLDB_PATH_TO_CLANG_BUILD}
- ABSOLUTE)
+ list(GET CONFIG_OUTPUT 0 ENABLE_ASSERTIONS)
+ list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR)
+ list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
+ list(GET CONFIG_OUTPUT 3 INCLUDE_DIR)
+ list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)
+ list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR)
+
+ if(NOT MSVC_IDE)
+ set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}
+ CACHE BOOL "Enable assertions")
+ # Assertions should follow llvm-config's.
+ mark_as_advanced(LLVM_ENABLE_ASSERTIONS)
+ endif()
+
+ set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
+ set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+ set(LLVM_MAIN_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include")
+ set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
+ set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+
+ find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
+ NO_DEFAULT_PATH)
+
+ set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/share/llvm/cmake") # this will change in 3.9.0
+ set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
+ if(EXISTS ${LLVMCONFIG_FILE})
+ list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
+ include(${LLVMCONFIG_FILE})
else()
- message(FATAL_ERROR "Please set LLDB_PATH_TO_CLANG_BUILD to the root "
- "directory of Clang build or install site.")
+ message(FATAL_ERROR "Not found: ${LLVMCONFIG_FILE}")
endif()
-
- # These variables are used by add_llvm_library.
+ # They are used as destination of target generators.
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
- set(LLVM_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+ if(WIN32 OR CYGWIN)
+ # DLL platform -- put DLLs into bin.
+ set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+ else()
+ set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+ endif()
include(AddLLVM)
include(HandleLLVMOptions)
@@ -73,23 +94,16 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
message("-- Found PythonInterp: ${PYTHON_EXECUTABLE}")
endif()
# Import CMake library targets from LLVM and Clang.
- include("${LLDB_PATH_TO_LLVM_BUILD}/share/llvm/cmake/LLVMConfig.cmake")
- if (EXISTS "${LLDB_PATH_TO_CLANG_BUILD}/share/clang/cmake/ClangConfig.cmake")
- include("${LLDB_PATH_TO_CLANG_BUILD}/share/clang/cmake/ClangConfig.cmake")
- endif()
+ include("${LLVM_OBJ_ROOT}/share/llvm/cmake/LLVMConfig.cmake") # this will change in 3.9.0
+ include("${LLVM_OBJ_ROOT}/share/clang/cmake/ClangConfig.cmake") # this will change in 3.9.0
set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}")
set(LLVM_BINARY_DIR ${CMAKE_BINARY_DIR})
set(CMAKE_INCLUDE_CURRENT_DIR ON)
- include_directories("${PATH_TO_LLVM_BUILD}/include"
- "${LLVM_MAIN_INCLUDE_DIR}"
- "${PATH_TO_CLANG_BUILD}/include"
- "${CLANG_MAIN_INCLUDE_DIR}"
- "${CMAKE_CURRENT_SOURCE_DIR}/source")
- link_directories("${PATH_TO_LLVM_BUILD}/lib${LLVM_LIBDIR_SUFFIX}"
- "${PATH_TO_CLANG_BUILD}/lib${LLVM_LIBDIR_SUFFIX}")
+ include_directories("${LLVM_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}")
+ link_directories("${LLVM_LIBRARY_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})

View File

@@ -0,0 +1,80 @@
$NetBSD: patch-include_lldb_Utility_regcclass.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- include/lldb/Utility/regcclass.h.orig 2016-01-23 13:45:51.000000000 +0000
+++ include/lldb/Utility/regcclass.h
@@ -0,0 +1,75 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)cclass.h 8.3 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGCCLASS_H
+#define LLVM_SUPPORT_REGCCLASS_H
+
+/* character-class table */
+static struct cclass {
+ const char *name;
+ const char *chars;
+ const char *multis;
+} cclasses[] = {
+ { "alnum", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
+0123456789", ""} ,
+ { "alpha", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
+ ""} ,
+ { "blank", " \t", ""} ,
+ { "cntrl", "\007\b\t\n\v\f\r\1\2\3\4\5\6\16\17\20\21\22\23\24\
+\25\26\27\30\31\32\33\34\35\36\37\177", ""} ,
+ { "digit", "0123456789", ""} ,
+ { "graph", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
+0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",
+ ""} ,
+ { "lower", "abcdefghijklmnopqrstuvwxyz",
+ ""} ,
+ { "print", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
+0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ ",
+ ""} ,
+ { "punct", "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",
+ ""} ,
+ { "space", "\t\n\v\f\r ", ""} ,
+ { "upper", "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
+ ""} ,
+ { "xdigit", "0123456789ABCDEFabcdef",
+ ""} ,
+ { NULL, 0, "" }
+};
+
+#endif

View File

@@ -0,0 +1,149 @@
$NetBSD: patch-include_lldb_Utility_regcname.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- include/lldb/Utility/regcname.h.orig 2016-01-23 13:45:51.000000000 +0000
+++ include/lldb/Utility/regcname.h
@@ -0,0 +1,144 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)cname.h 8.3 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGCNAME_H
+#define LLVM_SUPPORT_REGCNAME_H
+
+/* character-name table */
+static struct cname {
+ const char *name;
+ char code;
+} cnames[] = {
+ { "NUL", '\0' },
+ { "SOH", '\001' },
+ { "STX", '\002' },
+ { "ETX", '\003' },
+ { "EOT", '\004' },
+ { "ENQ", '\005' },
+ { "ACK", '\006' },
+ { "BEL", '\007' },
+ { "alert", '\007' },
+ { "BS", '\010' },
+ { "backspace", '\b' },
+ { "HT", '\011' },
+ { "tab", '\t' },
+ { "LF", '\012' },
+ { "newline", '\n' },
+ { "VT", '\013' },
+ { "vertical-tab", '\v' },
+ { "FF", '\014' },
+ { "form-feed", '\f' },
+ { "CR", '\015' },
+ { "carriage-return", '\r' },
+ { "SO", '\016' },
+ { "SI", '\017' },
+ { "DLE", '\020' },
+ { "DC1", '\021' },
+ { "DC2", '\022' },
+ { "DC3", '\023' },
+ { "DC4", '\024' },
+ { "NAK", '\025' },
+ { "SYN", '\026' },
+ { "ETB", '\027' },
+ { "CAN", '\030' },
+ { "EM", '\031' },
+ { "SUB", '\032' },
+ { "ESC", '\033' },
+ { "IS4", '\034' },
+ { "FS", '\034' },
+ { "IS3", '\035' },
+ { "GS", '\035' },
+ { "IS2", '\036' },
+ { "RS", '\036' },
+ { "IS1", '\037' },
+ { "US", '\037' },
+ { "space", ' ' },
+ { "exclamation-mark", '!' },
+ { "quotation-mark", '"' },
+ { "number-sign", '#' },
+ { "dollar-sign", '$' },
+ { "percent-sign", '%' },
+ { "ampersand", '&' },
+ { "apostrophe", '\'' },
+ { "left-parenthesis", '(' },
+ { "right-parenthesis", ')' },
+ { "asterisk", '*' },
+ { "plus-sign", '+' },
+ { "comma", ',' },
+ { "hyphen", '-' },
+ { "hyphen-minus", '-' },
+ { "period", '.' },
+ { "full-stop", '.' },
+ { "slash", '/' },
+ { "solidus", '/' },
+ { "zero", '0' },
+ { "one", '1' },
+ { "two", '2' },
+ { "three", '3' },
+ { "four", '4' },
+ { "five", '5' },
+ { "six", '6' },
+ { "seven", '7' },
+ { "eight", '8' },
+ { "nine", '9' },
+ { "colon", ':' },
+ { "semicolon", ';' },
+ { "less-than-sign", '<' },
+ { "equals-sign", '=' },
+ { "greater-than-sign", '>' },
+ { "question-mark", '?' },
+ { "commercial-at", '@' },
+ { "left-square-bracket", '[' },
+ { "backslash", '\\' },
+ { "reverse-solidus", '\\' },
+ { "right-square-bracket", ']' },
+ { "circumflex", '^' },
+ { "circumflex-accent", '^' },
+ { "underscore", '_' },
+ { "low-line", '_' },
+ { "grave-accent", '`' },
+ { "left-brace", '{' },
+ { "left-curly-bracket", '{' },
+ { "vertical-line", '|' },
+ { "right-brace", '}' },
+ { "right-curly-bracket", '}' },
+ { "tilde", '~' },
+ { "DEL", '\177' },
+ { NULL, 0 }
+};
+
+#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,167 @@
$NetBSD: patch-include_lldb_Utility_regex2.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- include/lldb/Utility/regex2.h.orig 2016-01-23 13:45:51.000000000 +0000
+++ include/lldb/Utility/regex2.h
@@ -0,0 +1,162 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regex2.h 8.4 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGEX2_H
+#define LLVM_SUPPORT_REGEX2_H
+
+/*
+ * internals of regex_t
+ */
+#define MAGIC1 ((('r'^0200)<<8) | 'e')
+
+/*
+ * The internal representation is a *strip*, a sequence of
+ * operators ending with an endmarker. (Some terminology etc. is a
+ * historical relic of earlier versions which used multiple strips.)
+ * Certain oddities in the representation are there to permit running
+ * the machinery backwards; in particular, any deviation from sequential
+ * flow must be marked at both its source and its destination. Some
+ * fine points:
+ *
+ * - OPLUS_ and O_PLUS are *inside* the loop they create.
+ * - OQUEST_ and O_QUEST are *outside* the bypass they create.
+ * - OCH_ and O_CH are *outside* the multi-way branch they create, while
+ * OOR1 and OOR2 are respectively the end and the beginning of one of
+ * the branches. Note that there is an implicit OOR2 following OCH_
+ * and an implicit OOR1 preceding O_CH.
+ *
+ * In state representations, an operator's bit is on to signify a state
+ * immediately *preceding* "execution" of that operator.
+ */
+typedef unsigned long sop; /* strip operator */
+typedef long sopno;
+#define OPRMASK 0xf8000000LU
+#define OPDMASK 0x07ffffffLU
+#define OPSHIFT ((unsigned)27)
+#define OP(n) ((n)&OPRMASK)
+#define OPND(n) ((n)&OPDMASK)
+#define SOP(op, opnd) ((op)|(opnd))
+/* operators meaning operand */
+/* (back, fwd are offsets) */
+#define OEND (1LU<<OPSHIFT) /* endmarker - */
+#define OCHAR (2LU<<OPSHIFT) /* character unsigned char */
+#define OBOL (3LU<<OPSHIFT) /* left anchor - */
+#define OEOL (4LU<<OPSHIFT) /* right anchor - */
+#define OANY (5LU<<OPSHIFT) /* . - */
+#define OANYOF (6LU<<OPSHIFT) /* [...] set number */
+#define OBACK_ (7LU<<OPSHIFT) /* begin \d paren number */
+#define O_BACK (8LU<<OPSHIFT) /* end \d paren number */
+#define OPLUS_ (9LU<<OPSHIFT) /* + prefix fwd to suffix */
+#define O_PLUS (10LU<<OPSHIFT) /* + suffix back to prefix */
+#define OQUEST_ (11LU<<OPSHIFT) /* ? prefix fwd to suffix */
+#define O_QUEST (12LU<<OPSHIFT) /* ? suffix back to prefix */
+#define OLPAREN (13LU<<OPSHIFT) /* ( fwd to ) */
+#define ORPAREN (14LU<<OPSHIFT) /* ) back to ( */
+#define OCH_ (15LU<<OPSHIFT) /* begin choice fwd to OOR2 */
+#define OOR1 (16LU<<OPSHIFT) /* | pt. 1 back to OOR1 or OCH_ */
+#define OOR2 (17LU<<OPSHIFT) /* | pt. 2 fwd to OOR2 or O_CH */
+#define O_CH (18LU<<OPSHIFT) /* end choice back to OOR1 */
+#define OBOW (19LU<<OPSHIFT) /* begin word - */
+#define OEOW (20LU<<OPSHIFT) /* end word - */
+
+/*
+ * Structure for [] character-set representation. Character sets are
+ * done as bit vectors, grouped 8 to a byte vector for compactness.
+ * The individual set therefore has both a pointer to the byte vector
+ * and a mask to pick out the relevant bit of each byte. A hash code
+ * simplifies testing whether two sets could be identical.
+ *
+ * This will get trickier for multicharacter collating elements. As
+ * preliminary hooks for dealing with such things, we also carry along
+ * a string of multi-character elements, and decide the size of the
+ * vectors at run time.
+ */
+typedef struct {
+ uch *ptr; /* -> uch [csetsize] */
+ uch mask; /* bit within array */
+ uch hash; /* hash code */
+ size_t smultis;
+ char *multis; /* -> char[smulti] ab\0cd\0ef\0\0 */
+} cset;
+/* note that CHadd and CHsub are unsafe, and CHIN doesn't yield 0/1 */
+#define CHadd(cs, c) ((cs)->ptr[(uch)(c)] |= (cs)->mask, (cs)->hash += (c))
+#define CHsub(cs, c) ((cs)->ptr[(uch)(c)] &= ~(cs)->mask, (cs)->hash -= (c))
+#define CHIN(cs, c) ((cs)->ptr[(uch)(c)] & (cs)->mask)
+#define MCadd(p, cs, cp) mcadd(p, cs, cp) /* llvm_regcomp() internal fns */
+#define MCsub(p, cs, cp) mcsub(p, cs, cp)
+#define MCin(p, cs, cp) mcin(p, cs, cp)
+
+/* stuff for character categories */
+typedef unsigned char cat_t;
+
+/*
+ * main compiled-expression structure
+ */
+struct re_guts {
+ int magic;
+# define MAGIC2 ((('R'^0200)<<8)|'E')
+ sop *strip; /* malloced area for strip */
+ int csetsize; /* number of bits in a cset vector */
+ int ncsets; /* number of csets in use */
+ cset *sets; /* -> cset [ncsets] */
+ uch *setbits; /* -> uch[csetsize][ncsets/CHAR_BIT] */
+ int cflags; /* copy of llvm_regcomp() cflags argument */
+ sopno nstates; /* = number of sops */
+ sopno firststate; /* the initial OEND (normally 0) */
+ sopno laststate; /* the final OEND */
+ int iflags; /* internal flags */
+# define USEBOL 01 /* used ^ */
+# define USEEOL 02 /* used $ */
+# define REGEX_BAD 04 /* something wrong */
+ int nbol; /* number of ^ used */
+ int neol; /* number of $ used */
+ int ncategories; /* how many character categories */
+ cat_t *categories; /* ->catspace[-CHAR_MIN] */
+ char *must; /* match must contain this string */
+ int mlen; /* length of must */
+ size_t nsub; /* copy of re_nsub */
+ int backrefs; /* does it use back references? */
+ sopno nplus; /* how deep does it nest +s? */
+ /* catspace must be last */
+ cat_t catspace[1]; /* actually [NC] */
+};
+
+/* misc utilities */
+#define OUT (CHAR_MAX+1) /* a non-character value */
+#define ISWORD(c) (isalnum(c&0xff) || (c) == '_')
+
+#endif

View File

@@ -0,0 +1,113 @@
$NetBSD: patch-include_lldb_Utility_regex__impl.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- include/lldb/Utility/regex_impl.h.orig 2016-01-23 13:45:51.000000000 +0000
+++ include/lldb/Utility/regex_impl.h
@@ -0,0 +1,108 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992 Henry Spencer.
+ * Copyright (c) 1992, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer of the University of Toronto.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regex.h 8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _REGEX_H_
+#define _REGEX_H_
+
+#include <sys/types.h>
+typedef off_t llvm_regoff_t;
+typedef struct {
+ llvm_regoff_t rm_so; /* start of match */
+ llvm_regoff_t rm_eo; /* end of match */
+} llvm_regmatch_t;
+
+typedef struct llvm_regex {
+ int re_magic;
+ size_t re_nsub; /* number of parenthesized subexpressions */
+ const char *re_endp; /* end pointer for REG_PEND */
+ struct re_guts *re_g; /* none of your business :-) */
+} llvm_regex_t;
+
+/* llvm_regcomp() flags */
+#define REG_BASIC 0000
+#define REG_EXTENDED 0001
+#define REG_ICASE 0002
+#define REG_NOSUB 0004
+#define REG_NEWLINE 0010
+#define REG_NOSPEC 0020
+#define REG_PEND 0040
+#define REG_DUMP 0200
+
+/* llvm_regerror() flags */
+#define REG_NOMATCH 1
+#define REG_BADPAT 2
+#define REG_ECOLLATE 3
+#define REG_ECTYPE 4
+#define REG_EESCAPE 5
+#define REG_ESUBREG 6
+#define REG_EBRACK 7
+#define REG_EPAREN 8
+#define REG_EBRACE 9
+#define REG_BADBR 10
+#define REG_ERANGE 11
+#define REG_ESPACE 12
+#define REG_BADRPT 13
+#define REG_EMPTY 14
+#define REG_ASSERT 15
+#define REG_INVARG 16
+#define REG_ATOI 255 /* convert name to number (!) */
+#define REG_ITOA 0400 /* convert number to name (!) */
+
+/* llvm_regexec() flags */
+#define REG_NOTBOL 00001
+#define REG_NOTEOL 00002
+#define REG_STARTEND 00004
+#define REG_TRACE 00400 /* tracing of execution */
+#define REG_LARGE 01000 /* force large representation */
+#define REG_BACKR 02000 /* force use of backref code */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int llvm_regcomp(llvm_regex_t *, const char *, int);
+size_t llvm_regerror(int, const llvm_regex_t *, char *, size_t);
+int llvm_regexec(const llvm_regex_t *, const char *, size_t,
+ llvm_regmatch_t [], int);
+void llvm_regfree(llvm_regex_t *);
+size_t llvm_strlcpy(char *dst, const char *src, size_t siz);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !_REGEX_H_ */

View File

@@ -0,0 +1,63 @@
$NetBSD: patch-include_lldb_Utility_regutils.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- include/lldb/Utility/regutils.h.orig 2016-01-23 13:45:52.000000000 +0000
+++ include/lldb/Utility/regutils.h
@@ -0,0 +1,58 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)utils.h 8.3 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGUTILS_H
+#define LLVM_SUPPORT_REGUTILS_H
+
+/* utility definitions */
+#define NC (CHAR_MAX - CHAR_MIN + 1)
+typedef unsigned char uch;
+
+/* switch off assertions (if not already off) if no REDEBUG */
+#ifndef REDEBUG
+#ifndef NDEBUG
+#define NDEBUG /* no assertions please */
+#endif
+#endif
+#include <assert.h>
+
+/* for old systems with bcopy() but no memmove() */
+#ifdef USEBCOPY
+#define memmove(d, s, c) bcopy(s, d, c)
+#endif
+
+#endif

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-scripts_CMakeLists.txt,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- scripts/CMakeLists.txt.orig 2015-12-06 02:57:30.000000000 +0000
+++ scripts/CMakeLists.txt
@@ -9,6 +9,8 @@ set(SWIG_HEADERS
${LLDB_SOURCE_DIR}/include/lldb/lldb-versioning.h
)
+include(FindPythonInterp)
+
find_package(SWIG REQUIRED)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp

View File

@@ -0,0 +1,17 @@
$NetBSD: patch-scripts_Python_finishSwigPythonLLDB.py,v 1.2 2016/07/27 09:17:42 wiz Exp $
Don't conflict with lang/py-six.
--- scripts/Python/finishSwigPythonLLDB.py.orig 2016-05-19 21:02:17.000000000 +0000
+++ scripts/Python/finishSwigPythonLLDB.py
@@ -749,8 +749,8 @@ def main(vDictArgs):
if bOk:
bOk, strMsg = create_symlinks(vDictArgs, strFrameworkPythonDir, strLldbLibDir)
- if bOk:
- bOk, strMsg = copy_six(vDictArgs, strFrameworkPythonDir)
+ # if bOk:
+ # bOk, strMsg = copy_six(vDictArgs, strFrameworkPythonDir)
if bOk:
bOk, strMsg = copy_lldbpy_file_to_lldb_pkg_dir(vDictArgs,

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-scripts_Python_modules_readline_readline.cpp,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- scripts/Python/modules/readline/readline.cpp.orig 2015-10-19 01:16:17.000000000 +0000
+++ scripts/Python/modules/readline/readline.cpp
@@ -6,7 +6,7 @@
#include <stdio.h>
#ifndef LLDB_DISABLE_LIBEDIT
-#include <editline/readline.h>
+#include <readline/readline.h>
#endif
// Simple implementation of the Python readline module using libedit.

View File

@@ -0,0 +1,14 @@
$NetBSD: patch-source_Utility_CMakeLists.txt,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- source/Utility/CMakeLists.txt.orig 2015-12-06 02:57:30.000000000 +0000
+++ source/Utility/CMakeLists.txt
@@ -17,4 +17,9 @@ add_lldb_library(lldbUtility
TaskPool.cpp
TimeSpecTimeout.cpp
UriParser.cpp
+ regcomp.c
+ regerror.c
+ regexec.c
+ regfree.c
+ regstrlcpy.c
)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,140 @@
$NetBSD: patch-source_Utility_regerror.c,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- source/Utility/regerror.c.orig 2016-01-23 13:45:52.000000000 +0000
+++ source/Utility/regerror.c
@@ -0,0 +1,135 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regerror.c 8.4 (Berkeley) 3/20/94
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include <stdlib.h>
+#include "lldb/Utility/regex_impl.h"
+
+#include "lldb/Utility/regutils.h"
+
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif
+
+static const char *regatoi(const llvm_regex_t *, char *, int);
+
+static struct rerr {
+ int code;
+ const char *name;
+ const char *explain;
+} rerrs[] = {
+ { REG_NOMATCH, "REG_NOMATCH", "llvm_regexec() failed to match" },
+ { REG_BADPAT, "REG_BADPAT", "invalid regular expression" },
+ { REG_ECOLLATE, "REG_ECOLLATE", "invalid collating element" },
+ { REG_ECTYPE, "REG_ECTYPE", "invalid character class" },
+ { REG_EESCAPE, "REG_EESCAPE", "trailing backslash (\\)" },
+ { REG_ESUBREG, "REG_ESUBREG", "invalid backreference number" },
+ { REG_EBRACK, "REG_EBRACK", "brackets ([ ]) not balanced" },
+ { REG_EPAREN, "REG_EPAREN", "parentheses not balanced" },
+ { REG_EBRACE, "REG_EBRACE", "braces not balanced" },
+ { REG_BADBR, "REG_BADBR", "invalid repetition count(s)" },
+ { REG_ERANGE, "REG_ERANGE", "invalid character range" },
+ { REG_ESPACE, "REG_ESPACE", "out of memory" },
+ { REG_BADRPT, "REG_BADRPT", "repetition-operator operand invalid" },
+ { REG_EMPTY, "REG_EMPTY", "empty (sub)expression" },
+ { REG_ASSERT, "REG_ASSERT", "\"can't happen\" -- you found a bug" },
+ { REG_INVARG, "REG_INVARG", "invalid argument to regex routine" },
+ { 0, "", "*** unknown regexp error code ***" }
+};
+
+/*
+ - llvm_regerror - the interface to error numbers
+ = extern size_t llvm_regerror(int, const llvm_regex_t *, char *, size_t);
+ */
+/* ARGSUSED */
+size_t
+llvm_regerror(int errcode, const llvm_regex_t *preg, char *errbuf, size_t errbuf_size)
+{
+ struct rerr *r;
+ size_t len;
+ int target = errcode &~ REG_ITOA;
+ const char *s;
+ char convbuf[50];
+
+ if (errcode == REG_ATOI)
+ s = regatoi(preg, convbuf, sizeof convbuf);
+ else {
+ for (r = rerrs; r->code != 0; r++)
+ if (r->code == target)
+ break;
+
+ if (errcode&REG_ITOA) {
+ if (r->code != 0) {
+ assert(strlen(r->name) < sizeof(convbuf));
+ (void) llvm_strlcpy(convbuf, r->name, sizeof convbuf);
+ } else
+ (void)snprintf(convbuf, sizeof convbuf,
+ "REG_0x%x", target);
+ s = convbuf;
+ } else
+ s = r->explain;
+ }
+
+ len = strlen(s) + 1;
+ if (errbuf_size > 0) {
+ llvm_strlcpy(errbuf, s, errbuf_size);
+ }
+
+ return(len);
+}
+
+/*
+ - regatoi - internal routine to implement REG_ATOI
+ */
+static const char *
+regatoi(const llvm_regex_t *preg, char *localbuf, int localbufsize)
+{
+ struct rerr *r;
+
+ for (r = rerrs; r->code != 0; r++)
+ if (strcmp(r->name, preg->re_endp) == 0)
+ break;
+ if (r->code == 0)
+ return("0");
+
+ (void)snprintf(localbuf, localbufsize, "%d", r->code);
+ return(localbuf);
+}

View File

@@ -0,0 +1,167 @@
$NetBSD: patch-source_Utility_regexec.c,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- source/Utility/regexec.c.orig 2016-01-23 13:45:52.000000000 +0000
+++ source/Utility/regexec.c
@@ -0,0 +1,162 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regexec.c 8.3 (Berkeley) 3/20/94
+ */
+
+/*
+ * the outer shell of llvm_regexec()
+ *
+ * This file includes engine.inc *twice*, after muchos fiddling with the
+ * macros that code uses. This lets the same code operate on two different
+ * representations for state sets.
+ */
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+#include <ctype.h>
+#include "lldb/Utility/regex_impl.h"
+
+#include "lldb/Utility/regutils.h"
+#include "lldb/Utility/regex2.h"
+
+/* macros for manipulating states, small version */
+/* FIXME: 'states' is assumed as 'long' on small version. */
+#define states1 long /* for later use in llvm_regexec() decision */
+#define states states1
+#define CLEAR(v) ((v) = 0)
+#define SET0(v, n) ((v) &= ~((unsigned long)1 << (n)))
+#define SET1(v, n) ((v) |= (unsigned long)1 << (n))
+#define ISSET(v, n) (((v) & ((unsigned long)1 << (n))) != 0)
+#define ASSIGN(d, s) ((d) = (s))
+#define EQ(a, b) ((a) == (b))
+#define STATEVARS long dummy /* dummy version */
+#define STATESETUP(m, n) /* nothing */
+#define STATETEARDOWN(m) /* nothing */
+#define SETUP(v) ((v) = 0)
+#define onestate long
+#define INIT(o, n) ((o) = (unsigned long)1 << (n))
+#define INC(o) ((o) = (unsigned long)(o) << 1)
+#define ISSTATEIN(v, o) (((v) & (o)) != 0)
+/* some abbreviations; note that some of these know variable names! */
+/* do "if I'm here, I can also be there" etc without branches */
+#define FWD(dst, src, n) ((dst) |= ((unsigned long)(src)&(here)) << (n))
+#define BACK(dst, src, n) ((dst) |= ((unsigned long)(src)&(here)) >> (n))
+#define ISSETBACK(v, n) (((v) & ((unsigned long)here >> (n))) != 0)
+/* function names */
+#define SNAMES /* engine.inc looks after details */
+
+#include "lldb/Utility/regengine.inc"
+
+/* now undo things */
+#undef states
+#undef CLEAR
+#undef SET0
+#undef SET1
+#undef ISSET
+#undef ASSIGN
+#undef EQ
+#undef STATEVARS
+#undef STATESETUP
+#undef STATETEARDOWN
+#undef SETUP
+#undef onestate
+#undef INIT
+#undef INC
+#undef ISSTATEIN
+#undef FWD
+#undef BACK
+#undef ISSETBACK
+#undef SNAMES
+
+/* macros for manipulating states, large version */
+#define states char *
+#define CLEAR(v) memset(v, 0, m->g->nstates)
+#define SET0(v, n) ((v)[n] = 0)
+#define SET1(v, n) ((v)[n] = 1)
+#define ISSET(v, n) ((v)[n])
+#define ASSIGN(d, s) memmove(d, s, m->g->nstates)
+#define EQ(a, b) (memcmp(a, b, m->g->nstates) == 0)
+#define STATEVARS long vn; char *space
+#define STATESETUP(m, nv) { (m)->space = malloc((nv)*(m)->g->nstates); \
+ if ((m)->space == NULL) return(REG_ESPACE); \
+ (m)->vn = 0; }
+#define STATETEARDOWN(m) { free((m)->space); }
+#define SETUP(v) ((v) = &m->space[m->vn++ * m->g->nstates])
+#define onestate long
+#define INIT(o, n) ((o) = (n))
+#define INC(o) ((o)++)
+#define ISSTATEIN(v, o) ((v)[o])
+/* some abbreviations; note that some of these know variable names! */
+/* do "if I'm here, I can also be there" etc without branches */
+#define FWD(dst, src, n) ((dst)[here+(n)] |= (src)[here])
+#define BACK(dst, src, n) ((dst)[here-(n)] |= (src)[here])
+#define ISSETBACK(v, n) ((v)[here - (n)])
+/* function names */
+#define LNAMES /* flag */
+
+#include "lldb/Utility/regengine.inc"
+
+/*
+ - llvm_regexec - interface for matching
+ *
+ * We put this here so we can exploit knowledge of the state representation
+ * when choosing which matcher to call. Also, by this point the matchers
+ * have been prototyped.
+ */
+int /* 0 success, REG_NOMATCH failure */
+llvm_regexec(const llvm_regex_t *preg, const char *string, size_t nmatch,
+ llvm_regmatch_t pmatch[], int eflags)
+{
+ struct re_guts *g = preg->re_g;
+#ifdef REDEBUG
+# define GOODFLAGS(f) (f)
+#else
+# define GOODFLAGS(f) ((f)&(REG_NOTBOL|REG_NOTEOL|REG_STARTEND))
+#endif
+
+ if (preg->re_magic != MAGIC1 || g->magic != MAGIC2)
+ return(REG_BADPAT);
+ assert(!(g->iflags&REGEX_BAD));
+ if (g->iflags&REGEX_BAD) /* backstop for no-debug case */
+ return(REG_BADPAT);
+ eflags = GOODFLAGS(eflags);
+
+ if (g->nstates <= (long)(CHAR_BIT*sizeof(states1)) && !(eflags&REG_LARGE))
+ return(smatcher(g, string, nmatch, pmatch, eflags));
+ else
+ return(lmatcher(g, string, nmatch, pmatch, eflags));
+}

View File

@@ -0,0 +1,77 @@
$NetBSD: patch-source_Utility_regfree.c,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- source/Utility/regfree.c.orig 2016-01-23 13:45:52.000000000 +0000
+++ source/Utility/regfree.c
@@ -0,0 +1,72 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regfree.c 8.3 (Berkeley) 3/20/94
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "lldb/Utility/regex_impl.h"
+
+#include "lldb/Utility/regutils.h"
+#include "lldb/Utility/regex2.h"
+
+/*
+ - llvm_regfree - free everything
+ */
+void
+llvm_regfree(llvm_regex_t *preg)
+{
+ struct re_guts *g;
+
+ if (preg->re_magic != MAGIC1) /* oops */
+ return; /* nice to complain, but hard */
+
+ g = preg->re_g;
+ if (g == NULL || g->magic != MAGIC2) /* oops again */
+ return;
+ preg->re_magic = 0; /* mark it invalid */
+ g->magic = 0; /* mark it invalid */
+
+ if (g->strip != NULL)
+ free((char *)g->strip);
+ if (g->sets != NULL)
+ free((char *)g->sets);
+ if (g->setbits != NULL)
+ free((char *)g->setbits);
+ if (g->must != NULL)
+ free(g->must);
+ free((char *)g);
+}

View File

@@ -0,0 +1,57 @@
$NetBSD: patch-source_Utility_regstrlcpy.c,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- source/Utility/regstrlcpy.c.orig 2016-01-23 13:45:52.000000000 +0000
+++ source/Utility/regstrlcpy.c
@@ -0,0 +1,52 @@
+/*
+ * This code is derived from OpenBSD's libc, original license follows:
+ *
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <string.h>
+
+#include "lldb/Utility/regex_impl.h"
+/*
+ * Copy src to string dst of size siz. At most siz-1 characters
+ * will be copied. Always NUL terminates (unless siz == 0).
+ * Returns strlen(src); if retval >= siz, truncation occurred.
+ */
+size_t
+llvm_strlcpy(char *dst, const char *src, size_t siz)
+{
+ char *d = dst;
+ const char *s = src;
+ size_t n = siz;
+
+ /* Copy as many bytes as will fit */
+ if (n != 0) {
+ while (--n != 0) {
+ if ((*d++ = *s++) == '\0')
+ break;
+ }
+ }
+
+ /* Not enough room in dst, add NUL and traverse rest of src */
+ if (n == 0) {
+ if (siz != 0)
+ *d = '\0'; /* NUL-terminate dst */
+ while (*s++)
+ ;
+ }
+
+ return(s - src - 1); /* count does not include NUL */
+}

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-tools_lldb-mi_MICmnBase.cpp,v 1.1 2016/03/28 13:13:55 kamil Exp $
Cannot pass object of non-trivial type 'const CMIUtilString'
through variadic function.
--- tools/lldb-mi/MICmnBase.cpp.orig 2016-02-21 02:08:07.000000000 +0000
+++ tools/lldb-mi/MICmnBase.cpp
@@ -127,7 +127,7 @@ CMICmnBase::ClrErrorDescription() const
// Throws: None.
//--
void
-CMICmnBase::SetErrorDescriptionn(const CMIUtilString vFormat, ...) const
+CMICmnBase::SetErrorDescriptionn(const char *vFormat, ...) const
{
va_list args;
va_start(args, vFormat);

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-tools_lldb-mi_MICmnBase.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
Cannot pass object of non-trivial type 'const CMIUtilString'
through variadic function.
--- tools/lldb-mi/MICmnBase.h.orig 2015-08-04 10:24:20.000000000 +0000
+++ tools/lldb-mi/MICmnBase.h
@@ -28,7 +28,7 @@ class CMICmnBase
bool HaveErrorDescription() const;
const CMIUtilString &GetErrorDescription() const;
void SetErrorDescription(const CMIUtilString &vrTxt) const;
- void SetErrorDescriptionn(const CMIUtilString vFormat, ...) const;
+ void SetErrorDescriptionn(const char *vFormat, ...) const;
void SetErrorDescriptionNoLog(const CMIUtilString &vrTxt) const;
void ClrErrorDescription() const;

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-tools_lldb-mi_MIDriver.cpp,v 1.1 2016/03/28 13:13:55 kamil Exp $
Cannot pass object of non-trivial type 'const CMIUtilString'
through variadic function.
--- tools/lldb-mi/MIDriver.cpp.orig 2016-02-21 02:08:07.000000000 +0000
+++ tools/lldb-mi/MIDriver.cpp
@@ -491,7 +491,7 @@ CMIDriver::StartWorkerThreads()
{
const CMIUtilString errMsg = CMIUtilString::Format(MIRSRC(IDS_THREADMGR_ERR_THREAD_FAIL_CREATE),
CMICmnThreadMgrStd::Instance().GetErrorDescription().c_str());
- SetErrorDescriptionn(errMsg);
+ SetErrorDescriptionn(errMsg.c_str());
return MIstatus::failure;
}

View File

@@ -0,0 +1,14 @@
$NetBSD: patch-tools_lldb-mi_MIUtilParse.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
--- tools/lldb-mi/MIUtilParse.h.orig 2015-12-06 02:57:30.000000000 +0000
+++ tools/lldb-mi/MIUtilParse.h
@@ -9,8 +9,7 @@
#pragma once
-// Third party headers:
-#include "../lib/Support/regex_impl.h"
+#include "lldb/Utility/regex_impl.h"
// In-house headers:
#include "MIUtilString.h"

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-tools_lldb-mi_MIUtilString.cpp,v 1.1 2016/03/28 13:13:55 kamil Exp $
Cannot pass object of non-trivial type 'const CMIUtilString'
through variadic function.
--- tools/lldb-mi/MIUtilString.cpp.orig 2016-02-21 02:08:07.000000000 +0000
+++ tools/lldb-mi/MIUtilString.cpp
@@ -159,7 +159,7 @@ CMIUtilString::FormatPriv(const CMIUtilS
// Throws: None.
//--
CMIUtilString
-CMIUtilString::Format(const CMIUtilString vFormating, ...)
+CMIUtilString::Format(const char* vFormating, ...)
{
va_list args;
va_start(args, vFormating);

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-tools_lldb-mi_MIUtilString.h,v 1.1 2016/03/28 13:13:55 kamil Exp $
Cannot pass object of non-trivial type 'const CMIUtilString'
through variadic function.
--- tools/lldb-mi/MIUtilString.h.orig 2016-02-21 02:08:07.000000000 +0000
+++ tools/lldb-mi/MIUtilString.h
@@ -30,7 +30,7 @@ class CMIUtilString : public std::string
// Static method:
public:
- static CMIUtilString Format(const CMIUtilString vFormating, ...);
+ static CMIUtilString Format(const char *vFormating, ...);
static CMIUtilString FormatBinary(const MIuint64 vnDecimal);
static CMIUtilString FormatValist(const CMIUtilString &vrFormating, va_list vArgs);
static bool IsAllValidAlphaAndNumeric(const char *vpText);