Add a Linux .def file. Might put out burning tinderbox.

This commit is contained in:
Patrick Walton 2011-03-24 11:43:51 -07:00
parent a2b9a7ce8f
commit 8c9f5ffc77
3 changed files with 663 additions and 3 deletions

View File

@ -38,7 +38,7 @@ ifeq ($(CFG_OSTYPE), Linux)
CFG_LIB_NAME=lib$(1).so
CFG_GCC_CFLAGS += -fPIC -march=i686
CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
CFG_GCC_DEF_FLAG :=
CFG_GCC_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
ifeq ($(CFG_CPUTYPE), x86_64)
CFG_GCC_CFLAGS += -m32
CFG_GCC_LINK_FLAGS += -m32
@ -53,7 +53,7 @@ ifeq ($(CFG_OSTYPE), Darwin)
CFG_UNIXY := 1
CFG_LDENV := DYLD_LIBRARY_PATH
CFG_GCC_LINK_FLAGS += -dynamiclib -lpthread
CFG_GCC_DEF_FLAG := -exported_symbols_list
CFG_GCC_DEF_FLAG := -Wl,-exported_symbols_list,
# Darwin has a very blurry notion of "64 bit", and claims it's running
# "on an i386" when the whole userspace is 64-bit and the compiler
# emits 64-bit binaries by default. So we just force -m32 here. Smarter
@ -148,7 +148,7 @@ ifdef CFG_GCC
CFG_COMPILE_C = $(CFG_GCC_CROSS)g++ $(CFG_GCC_CFLAGS) -c -o $(1) $(2)
CFG_DEPEND_C = $(CFG_GCC_CROSS)g++ $(CFG_GCC_CFLAGS) -MT "$(1)" -MM $(2)
CFG_LINK_C = $(CFG_GCC_CROSS)g++ $(CFG_GCC_LINK_FLAGS) -o $(1) \
$(CFG_GCC_DEF_FLAG) $(3) $(2)
$(CFG_GCC_DEF_FLAG)$(3) $(2)
else
CFG_ERR := $(error please try on a system with gcc)
endif

70
src/rt/rustrt.linux.def Normal file
View File

@ -0,0 +1,70 @@
{
align_of;
debug_box;
debug_fn;
debug_obj;
debug_opaque;
debug_ptrcast;
debug_tag;
debug_trap;
debug_tydesc;
do_gc;
last_os_error;
rand_free;
rand_new;
rand_next;
refcount;
rust_file_is_dir;
rust_get_stdin;
rust_get_stdout;
rust_run_program;
rust_start;
size_of;
str_alloc;
str_buf;
str_byte_len;
str_from_buf;
str_from_cstr;
str_from_vec;
task_sleep;
unsupervise;
upcall_clone_chan;
upcall_del_chan;
upcall_del_port;
upcall_exit;
upcall_fail;
upcall_flush_chan;
upcall_free;
upcall_get_type_desc;
upcall_grow_task;
upcall_join;
upcall_kill;
upcall_log_int;
upcall_log_str;
upcall_malloc;
upcall_mark;
upcall_new_chan;
upcall_new_port;
upcall_new_str;
upcall_new_task;
upcall_new_thread;
upcall_new_vec;
upcall_recv;
upcall_require_c_sym;
upcall_require_rust_sym;
upcall_send;
upcall_sleep;
upcall_start_task;
upcall_start_thread;
upcall_trace_str;
upcall_trace_word;
upcall_vec_grow;
upcall_yield;
vec_alloc;
vec_alloc_mut;
vec_buf;
vec_len;
vec_len_set;
vec_print_debug_info;
}

View File

@ -0,0 +1,590 @@
{
LLVMRustCreateMemoryBufferWithContentsOfFile;
LLVMRustGetLastError;
LLVMCreateObjectFile;
LLVMDisposeObjectFile;
LLVMGetSections;
LLVMDisposeSectionIterator;
LLVMIsSectionIteratorAtEnd;
LLVMMoveToNextSection;
LLVMGetSectionName;
LLVMGetSectionSize;
LLVMGetSectionContents;
LLVMABIAlignmentOfType;
LLVMABISizeOfType;
LLVMAddAggressiveDCEPass;
LLVMAddAlias;
LLVMAddArgumentPromotionPass;
LLVMAddAttribute;
LLVMAddCFGSimplificationPass;
LLVMAddCase;
LLVMAddConstantMergePass;
LLVMAddConstantPropagationPass;
LLVMAddDeadArgEliminationPass;
LLVMAddDeadStoreEliminationPass;
LLVMAddDeadTypeEliminationPass;
LLVMAddDemoteMemoryToRegisterPass;
LLVMAddDestination;
LLVMAddFunction;
LLVMAddFunctionAttr;
LLVMAddFunctionAttrsPass;
LLVMAddFunctionInliningPass;
LLVMAddGVNPass;
LLVMAddGlobal;
LLVMAddGlobalDCEPass;
LLVMAddGlobalInAddressSpace;
LLVMAddGlobalMapping;
LLVMAddGlobalOptimizerPass;
LLVMAddIPConstantPropagationPass;
LLVMAddIPSCCPPass;
LLVMAddIncoming;
LLVMAddIndVarSimplifyPass;
LLVMAddInstrAttribute;
LLVMAddInstructionCombiningPass;
LLVMAddInternalizePass;
LLVMAddJumpThreadingPass;
LLVMAddLICMPass;
LLVMAddLoopDeletionPass;
LLVMAddLoopRotatePass;
LLVMAddLoopUnrollPass;
LLVMAddLoopUnswitchPass;
LLVMAddLowerSetJmpPass;
LLVMAddMemCpyOptPass;
LLVMAddModule;
LLVMAddModuleProvider;
LLVMAddPromoteMemoryToRegisterPass;
LLVMAddPruneEHPass;
LLVMAddRaiseAllocationsPass;
LLVMAddReassociatePass;
LLVMAddSCCPPass;
LLVMAddScalarReplAggregatesPass;
LLVMAddScalarReplAggregatesPassWithThreshold;
LLVMAddSimplifyLibCallsPass;
LLVMAddStripDeadPrototypesPass;
LLVMAddStripSymbolsPass;
LLVMAddTailCallEliminationPass;
LLVMAddTargetData;
LLVMAddTypeName;
LLVMAddVerifierPass;
LLVMAlignOf;
LLVMAppendBasicBlock;
LLVMAppendBasicBlockInContext;
LLVMArrayType;
LLVMBasicBlockAsValue;
LLVMBlockAddress;
LLVMBuildAShr;
LLVMBuildAdd;
LLVMBuildAggregateRet;
LLVMBuildAlloca;
LLVMBuildAnd;
LLVMBuildArrayAlloca;
LLVMBuildArrayMalloc;
LLVMBuildBinOp;
LLVMBuildBitCast;
LLVMBuildBr;
LLVMBuildCall;
LLVMBuildCast;
LLVMBuildCondBr;
LLVMBuildExactSDiv;
LLVMBuildExtractElement;
LLVMBuildExtractValue;
LLVMBuildFAdd;
LLVMBuildFCmp;
LLVMBuildFDiv;
LLVMBuildFMul;
LLVMBuildFNeg;
LLVMBuildFPCast;
LLVMBuildFPExt;
LLVMBuildFPToSI;
LLVMBuildFPToUI;
LLVMBuildFPTrunc;
LLVMBuildFRem;
LLVMBuildFSub;
LLVMBuildFree;
LLVMBuildGEP;
LLVMBuildGlobalString;
LLVMBuildGlobalStringPtr;
LLVMBuildICmp;
LLVMBuildInBoundsGEP;
LLVMBuildIndirectBr;
LLVMBuildInsertElement;
LLVMBuildInsertValue;
LLVMBuildIntCast;
LLVMBuildIntToPtr;
LLVMBuildInvoke;
LLVMBuildIsNotNull;
LLVMBuildIsNull;
LLVMBuildLShr;
LLVMBuildLoad;
LLVMBuildMalloc;
LLVMBuildMul;
LLVMBuildNSWAdd;
LLVMBuildNSWMul;
LLVMBuildNSWNeg;
LLVMBuildNSWSub;
LLVMBuildNUWAdd;
LLVMBuildNUWMul;
LLVMBuildNUWNeg;
LLVMBuildNUWSub;
LLVMBuildNeg;
LLVMBuildNot;
LLVMBuildOr;
LLVMBuildPhi;
LLVMBuildPointerCast;
LLVMBuildPtrDiff;
LLVMBuildPtrToInt;
LLVMBuildRet;
LLVMBuildRetVoid;
LLVMBuildSDiv;
LLVMBuildSExt;
LLVMBuildSExtOrBitCast;
LLVMBuildSIToFP;
LLVMBuildSRem;
LLVMBuildSelect;
LLVMBuildShl;
LLVMBuildShuffleVector;
LLVMBuildStore;
LLVMBuildStructGEP;
LLVMBuildSub;
LLVMBuildSwitch;
LLVMBuildTrunc;
LLVMBuildTruncOrBitCast;
LLVMBuildUDiv;
LLVMBuildUIToFP;
LLVMBuildURem;
LLVMBuildUnreachable;
LLVMBuildUnwind;
LLVMBuildVAArg;
LLVMBuildXor;
LLVMBuildZExt;
LLVMBuildZExtOrBitCast;
LLVMByteOrder;
LLVMCallFrameAlignmentOfType;
LLVMClearInsertionPosition;
LLVMConstAShr;
LLVMConstAdd;
LLVMConstAllOnes;
LLVMConstAnd;
LLVMConstArray;
LLVMConstBitCast;
LLVMConstExactSDiv;
LLVMConstExtractElement;
LLVMConstExtractValue;
LLVMConstFAdd;
LLVMConstFCmp;
LLVMConstFDiv;
LLVMConstFMul;
LLVMConstFNeg;
LLVMConstFPCast;
LLVMConstFPExt;
LLVMConstFPToSI;
LLVMConstFPToUI;
LLVMConstFPTrunc;
LLVMConstFRem;
LLVMConstFSub;
LLVMConstGEP;
LLVMConstICmp;
LLVMConstInBoundsGEP;
LLVMConstInlineAsm;
LLVMConstInsertElement;
LLVMConstInsertValue;
LLVMConstInt;
LLVMConstIntCast;
LLVMConstIntGetSExtValue;
LLVMConstIntGetZExtValue;
LLVMConstIntOfArbitraryPrecision;
LLVMConstIntOfString;
LLVMConstIntOfStringAndSize;
LLVMConstIntToPtr;
LLVMConstLShr;
LLVMConstMul;
LLVMConstNSWAdd;
LLVMConstNSWMul;
LLVMConstNSWNeg;
LLVMConstNSWSub;
LLVMConstNUWAdd;
LLVMConstNUWMul;
LLVMConstNUWNeg;
LLVMConstNUWSub;
LLVMConstNeg;
LLVMConstNot;
LLVMConstNull;
LLVMConstOr;
LLVMConstPointerCast;
LLVMConstPointerNull;
LLVMConstPtrToInt;
LLVMConstReal;
LLVMConstRealOfString;
LLVMConstRealOfStringAndSize;
LLVMConstSDiv;
LLVMConstSExt;
LLVMConstSExtOrBitCast;
LLVMConstSIToFP;
LLVMConstSRem;
LLVMConstSelect;
LLVMConstShl;
LLVMConstShuffleVector;
LLVMConstString;
LLVMConstStringInContext;
LLVMConstStruct;
LLVMConstStructInContext;
LLVMConstSub;
LLVMConstTrunc;
LLVMConstTruncOrBitCast;
LLVMConstUDiv;
LLVMConstUIToFP;
LLVMConstURem;
LLVMConstVector;
LLVMConstXor;
LLVMConstZExt;
LLVMConstZExtOrBitCast;
LLVMContextCreate;
LLVMContextDispose;
LLVMCopyStringRepOfTargetData;
LLVMCountBasicBlocks;
LLVMCountIncoming;
LLVMCountParamTypes;
LLVMCountParams;
LLVMCountStructElementTypes;
LLVMCreateBuilder;
LLVMCreateBuilderInContext;
LLVMCreateExecutionEngine;
LLVMCreateExecutionEngineForModule;
LLVMCreateFunctionPassManager;
LLVMCreateFunctionPassManagerForModule;
LLVMCreateGenericValueOfFloat;
LLVMCreateGenericValueOfInt;
LLVMCreateGenericValueOfPointer;
LLVMCreateInterpreter;
LLVMCreateInterpreterForModule;
LLVMCreateJITCompiler;
LLVMCreateJITCompilerForModule;
LLVMCreateMemoryBufferWithContentsOfFile;
LLVMCreateMemoryBufferWithSTDIN;
LLVMCreateModuleProviderForExistingModule;
LLVMCreateObjectFile;
LLVMCreatePassManager;
LLVMCreateTargetData;
LLVMCreateTypeHandle;
LLVMDeleteBasicBlock;
LLVMDeleteFunction;
LLVMDeleteGlobal;
LLVMDeleteTypeName;
LLVMDisposeBuilder;
LLVMDisposeExecutionEngine;
LLVMDisposeGenericValue;
LLVMDisposeMemoryBuffer;
LLVMDisposeMessage;
LLVMDisposeModule;
LLVMDisposeModuleProvider;
LLVMDisposeObjectFile;
LLVMDisposePassManager;
LLVMDisposeSectionIterator;
LLVMDisposeTargetData;
LLVMDisposeTypeHandle;
LLVMDoubleType;
LLVMDoubleTypeInContext;
LLVMDumpModule;
LLVMDumpValue;
LLVMElementAtOffset;
LLVMFP128Type;
LLVMFP128TypeInContext;
LLVMFinalizeFunctionPassManager;
LLVMFindFunction;
LLVMFloatType;
LLVMFloatTypeInContext;
LLVMFreeMachineCodeForFunction;
LLVMFunctionType;
LLVMGenericValueIntWidth;
LLVMGenericValueToFloat;
LLVMGenericValueToInt;
LLVMGenericValueToPointer;
LLVMGetAlignment;
LLVMGetArrayLength;
LLVMGetAttribute;
LLVMGetBasicBlockParent;
LLVMGetBasicBlocks;
LLVMGetBitcodeModule;
LLVMGetBitcodeModuleInContext;
LLVMGetBitcodeModuleProvider;
LLVMGetBitcodeModuleProviderInContext;
LLVMGetConstOpcode;
LLVMGetCurrentDebugLocation;
LLVMGetDataLayout;
LLVMGetElementType;
LLVMGetEntryBasicBlock;
LLVMGetExecutionEngineTargetData;
LLVMGetFirstBasicBlock;
LLVMGetFirstFunction;
LLVMGetFirstGlobal;
LLVMGetFirstInstruction;
LLVMGetFirstParam;
LLVMGetFirstUse;
LLVMGetFunctionAttr;
LLVMGetFunctionCallConv;
LLVMGetGC;
LLVMGetGlobalContext;
LLVMGetGlobalContext;
LLVMGetGlobalParent;
LLVMGetGlobalPassRegistry;
LLVMGetIncomingBlock;
LLVMGetIncomingValue;
LLVMGetInitializer;
LLVMGetInsertBlock;
LLVMGetInstructionCallConv;
LLVMGetInstructionParent;
LLVMGetIntTypeWidth;
LLVMGetIntrinsicID;
LLVMGetLastBasicBlock;
LLVMGetLastFunction;
LLVMGetLastGlobal;
LLVMGetLastInstruction;
LLVMGetLastParam;
LLVMGetLinkage;
LLVMGetMDKindID;
LLVMGetMDKindIDInContext;
LLVMGetMetadata;
LLVMGetModuleContext;
LLVMGetNamedFunction;
LLVMGetNamedGlobal;
LLVMGetNextBasicBlock;
LLVMGetNextFunction;
LLVMGetNextGlobal;
LLVMGetNextInstruction;
LLVMGetNextParam;
LLVMGetNextUse;
LLVMGetNumOperands;
LLVMGetOperand;
LLVMGetParam;
LLVMGetParamParent;
LLVMGetParamTypes;
LLVMGetParams;
LLVMGetPointerAddressSpace;
LLVMGetPointerToGlobal;
LLVMGetPreviousBasicBlock;
LLVMGetPreviousFunction;
LLVMGetPreviousGlobal;
LLVMGetPreviousInstruction;
LLVMGetPreviousParam;
LLVMGetReturnType;
LLVMGetSection;
LLVMGetSectionContents;
LLVMGetSectionName;
LLVMGetSectionSize;
LLVMGetSections;
LLVMGetStructElementTypes;
LLVMGetTarget;
LLVMGetTypeByName;
LLVMGetTypeContext;
LLVMGetTypeKind;
LLVMGetTypeName;
LLVMGetUndef;
LLVMGetUsedValue;
LLVMGetUser;
LLVMGetValueName;
LLVMGetVectorSize;
LLVMGetVisibility;
LLVMHasMetadata;
LLVMInitializeCBackendTarget;
LLVMInitializeCBackendTargetInfo;
LLVMInitializeCodeGen;
LLVMInitializeFunctionPassManager;
LLVMInitializeIPA;
LLVMInitializeInstCombine;
LLVMInitializeInstrumentation;
LLVMInitializeScalarOpts;
LLVMInitializeTarget;
LLVMInitializeTransformUtils;
LLVMInitializeX86AsmLexer;
LLVMInitializeX86AsmLexer;
LLVMInitializeX86AsmParser;
LLVMInitializeX86AsmParser;
LLVMInitializeX86AsmPrinter;
LLVMInitializeX86AsmPrinter;
LLVMInitializeX86Disassembler;
LLVMInitializeX86Disassembler;
LLVMInitializeX86Target;
LLVMInitializeX86Target;
LLVMInitializeX86TargetInfo;
LLVMInitializeX86TargetInfo;
LLVMInsertBasicBlock;
LLVMInsertBasicBlockInContext;
LLVMInsertIntoBuilder;
LLVMInsertIntoBuilderWithName;
LLVMInt16Type;
LLVMInt16TypeInContext;
LLVMInt1Type;
LLVMInt1TypeInContext;
LLVMInt32Type;
LLVMInt32TypeInContext;
LLVMInt64Type;
LLVMInt64TypeInContext;
LLVMInt8Type;
LLVMInt8TypeInContext;
LLVMIntPtrType;
LLVMIntType;
LLVMIntTypeInContext;
LLVMInvalidateStructLayout;
LLVMIsAAllocaInst;
LLVMIsAArgument;
LLVMIsABasicBlock;
LLVMIsABinaryOperator;
LLVMIsABitCastInst;
LLVMIsABranchInst;
LLVMIsACallInst;
LLVMIsACastInst;
LLVMIsACmpInst;
LLVMIsAConstant;
LLVMIsAConstantAggregateZero;
LLVMIsAConstantArray;
LLVMIsAConstantExpr;
LLVMIsAConstantFP;
LLVMIsAConstantInt;
LLVMIsAConstantPointerNull;
LLVMIsAConstantStruct;
LLVMIsAConstantVector;
LLVMIsADbgDeclareInst;
LLVMIsADbgInfoIntrinsic;
LLVMIsAEHSelectorInst;
LLVMIsAExtractElementInst;
LLVMIsAExtractValueInst;
LLVMIsAFCmpInst;
LLVMIsAFPExtInst;
LLVMIsAFPToSIInst;
LLVMIsAFPToUIInst;
LLVMIsAFPTruncInst;
LLVMIsAFunction;
LLVMIsAGetElementPtrInst;
LLVMIsAGlobalAlias;
LLVMIsAGlobalValue;
LLVMIsAGlobalVariable;
LLVMIsAICmpInst;
LLVMIsAInlineAsm;
LLVMIsAInsertElementInst;
LLVMIsAInsertValueInst;
LLVMIsAInstruction;
LLVMIsAIntToPtrInst;
LLVMIsAIntrinsicInst;
LLVMIsAInvokeInst;
LLVMIsALoadInst;
LLVMIsAMemCpyInst;
LLVMIsAMemIntrinsic;
LLVMIsAMemMoveInst;
LLVMIsAMemSetInst;
LLVMIsAPHINode;
LLVMIsAPtrToIntInst;
LLVMIsAReturnInst;
LLVMIsASExtInst;
LLVMIsASIToFPInst;
LLVMIsASelectInst;
LLVMIsAShuffleVectorInst;
LLVMIsAStoreInst;
LLVMIsASwitchInst;
LLVMIsATerminatorInst;
LLVMIsATruncInst;
LLVMIsAUIToFPInst;
LLVMIsAUnaryInstruction;
LLVMIsAUndefValue;
LLVMIsAUnreachableInst;
LLVMIsAUnwindInst;
LLVMIsAUser;
LLVMIsAVAArgInst;
LLVMIsAZExtInst;
LLVMIsConstant;
LLVMIsDeclaration;
LLVMIsFunctionVarArg;
LLVMIsGlobalConstant;
LLVMIsNull;
LLVMIsPackedStruct;
LLVMIsSectionIteratorAtEnd;
LLVMIsTailCall;
LLVMIsThreadLocal;
LLVMIsUndef;
LLVMLabelType;
LLVMLabelTypeInContext;
LLVMLinkInInterpreter;
LLVMLinkInJIT;
LLVMLinkInMCJIT;
LLVMMDNode;
LLVMMDNodeInContext;
LLVMMDString;
LLVMMDStringInContext;
LLVMModuleCreateWithName;
LLVMModuleCreateWithNameInContext;
LLVMMoveBasicBlockAfter;
LLVMMoveBasicBlockBefore;
LLVMMoveToNextSection;
LLVMOffsetOfElement;
LLVMOpaqueType;
LLVMOpaqueTypeInContext;
LLVMPPCFP128Type;
LLVMPPCFP128TypeInContext;
LLVMParseBitcode;
LLVMParseBitcodeInContext;
LLVMPointerSize;
LLVMPointerType;
LLVMPositionBuilder;
LLVMPositionBuilderAtEnd;
LLVMPositionBuilderBefore;
LLVMPreferredAlignmentOfGlobal;
LLVMPreferredAlignmentOfType;
LLVMRecompileAndRelinkFunction;
LLVMRefineType;
LLVMRemoveAttribute;
LLVMRemoveFunctionAttr;
LLVMRemoveInstrAttribute;
LLVMRemoveModule;
LLVMRemoveModuleProvider;
LLVMReplaceAllUsesWith;
LLVMResolveTypeHandle;
LLVMRunFunction;
LLVMRunFunctionAsMain;
LLVMRunFunctionPassManager;
LLVMRunPassManager;
LLVMRunStaticConstructors;
LLVMRunStaticDestructors;
LLVMSetAlignment;
LLVMSetCurrentDebugLocation;
LLVMSetDataLayout;
LLVMSetFunctionCallConv;
LLVMSetGC;
LLVMSetGlobalConstant;
LLVMSetInitializer;
LLVMSetInstDebugLocation;
LLVMSetInstrParamAlignment;
LLVMSetInstructionCallConv;
LLVMSetLinkage;
LLVMSetMetadata;
LLVMSetModuleInlineAsm;
LLVMSetOperand;
LLVMSetParamAlignment;
LLVMSetSection;
LLVMSetTailCall;
LLVMSetTarget;
LLVMSetThreadLocal;
LLVMSetValueName;
LLVMSetVisibility;
LLVMSizeOf;
LLVMSizeOfTypeInBits;
LLVMStoreSizeOfType;
LLVMStructType;
LLVMStructTypeInContext;
LLVMTypeOf;
LLVMValueAsBasicBlock;
LLVMValueIsBasicBlock;
LLVMVectorType;
LLVMVerifyFunction;
LLVMVerifyModule;
LLVMViewFunctionCFG;
LLVMViewFunctionCFGOnly;
LLVMVoidType;
LLVMVoidTypeInContext;
LLVMWriteBitcodeToFD;
LLVMWriteBitcodeToFile;
LLVMWriteBitcodeToFileHandle;
LLVMX86FP80Type;
LLVMX86FP80TypeInContext;
LLVMX86MMXType;
LLVMX86MMXTypeInContext;
}