tier 2 support for freebsd

This commit is contained in:
Andrew Kelley 2018-11-27 20:56:43 -05:00
parent e3bf40742d
commit dd2450b1b2
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9
5 changed files with 157 additions and 155 deletions

View File

@ -89,7 +89,7 @@ clarity.
| | freestanding | linux | macosx | windows | freebsd | other |
|--------|--------------|--------|--------|---------|---------|--------|
|x86_64 | Tier 2 | Tier 1 | Tier 1 | Tier 1 | Tier 3 | Tier 3 |
|x86_64 | Tier 2 | Tier 1 | Tier 1 | Tier 1 | Tier 2 | Tier 3 |
|i386 | Tier 2 | Tier 2 | Tier 2 | Tier 2 | Tier 3 | Tier 3 |
|arm | Tier 2 | Tier 3 | Tier 3 | Tier 3 | Tier 3 | Tier 3 |
|arm64 | Tier 2 | Tier 2 | Tier 3 | Tier 3 | Tier 3 | Tier 3 |

View File

@ -8,13 +8,13 @@
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
PATHS
/usr/lib/llvm-6.0/include
/usr/local/llvm60/include
/usr/lib/llvm-7.0/include
/usr/local/llvm70/include
/mingw64/include)
find_library(LLD_LIBRARY NAMES lld-6.0 lld60 lld
find_library(LLD_LIBRARY NAMES lld-7.0 lld70 lld
PATHS
/usr/lib/llvm-6.0/lib
/usr/lib/llvm-7.0/lib
/usr/local/llvm70/lib)
if(EXISTS ${LLD_LIBRARY})
set(LLD_LIBRARIES ${LLD_LIBRARY})
@ -23,7 +23,7 @@ else()
string(TOUPPER ${_libname_} _prettylibname_)
find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}
PATHS
/usr/lib/llvm-6.0/lib
/usr/lib/llvm-7.0/lib
/usr/local/llvm70/lib
/mingw64/lib
/c/msys64/mingw64/lib

View File

@ -304,8 +304,7 @@ pub const Target = union(enum) {
builtin.Os.freebsd => {
return "/libexec/ld-elf.so.1";
},
else => {},
}
builtin.Os.linux => {
switch (env) {
builtin.Environ.android => {
if (self.is64bit()) {
@ -453,6 +452,9 @@ pub const Target = union(enum) {
builtin.Arch.renderscript64,
=> return null,
}
},
else => return null,
}
}
pub fn llvmTargetFromTriple(triple: std.Buffer) !llvm.TargetRef {

View File

@ -47,7 +47,7 @@ bool ptr_eq(const void *a, const void *b) {
// Ported from std/mem.zig.
bool SplitIterator_isSplitByte(SplitIterator *self, uint8_t byte) {
for (size_t i = 0; i < self->split_bytes.len; i += 1) {
if (byte == self->split_bytes.ptr[i] || byte == 0) {
if (byte == self->split_bytes.ptr[i]) {
return true;
}
}

View File

@ -1731,8 +1731,8 @@ pub const Dir = struct {
}
fn nextFreebsd(self: *Dir) !?Entry {
self.handle.buf = try self.allocator.alloc(u8, page_size);
return null; // TODO
//self.handle.buf = try self.allocator.alloc(u8, page_size);
@compileError("TODO implement dirs for FreeBSD");
}
};