tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

LLVM runtime for gallium



Is anyone working on getting the correct LLVM object files built into
the gallium module ?

My first guess at a solution would be to add conditional code to LLVM
itself, at least for the Itanium and MachO references.

Trying to link against the gallium module directly I get this:

% gcc -o mesa mesa.o /usr/X11R7/lib/modules/dri/gallium_dri.so
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::BitstreamCursor::EnterSubBlock(unsigned int, unsigned int*)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::MachO::TextAPIReader::get(llvm::MemoryBufferRef)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::MachO::mapToPlatformSet(llvm::ArrayRef<llvm::MachO::Target>)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::BitstreamCursor::ReadAbbrevRecord()'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::BitstreamCursor::ReadBlockInfoBlock(bool)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::parseNamedRegisterReference(llvm::PerFunctionMIParsingState&, unsigned int&, llvm::StringRef, llvm::SMDiagnostic&)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::BitstreamCursor::readRecord(unsigned int, llvm::SmallVectorImpl<unsigned long>&, llvm::StringRef*)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::DWARFExpression::Operation::extract(llvm::DataExtractor, unsigned short, unsigned char, unsigned long)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::itanium_demangle::parse_discriminator(char const*, char const*)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::BitstreamCursor::skipRecord(unsigned int)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::remarks::createRemarkSerializer(llvm::remarks::Format, llvm::remarks::SerializerMode, llvm::raw_ostream&)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::remarks::parseFormat(llvm::StringRef)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::createCFGuardCheckPass()'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::MachO::mapToArchitectureSet(llvm::ArrayRef<llvm::MachO::Target>)'
ld: /usr/X11R7/lib/modules/dri/gallium_dri.so: undefined reference to `llvm::createCFGuardDispatchPass()'

Where mesa.c is this:

#include <stdio.h>

int main(int argc, char *argv[])
{
        extern void __driDriverGetExtensions_r600(void);

        __driDriverGetExtensions_r600();
}


Home | Main Index | Thread Index | Old Index