diff options
| author | Joel Sing <jsing@google.com> | 2013-08-24 01:18:04 +1000 |
|---|---|---|
| committer | Joel Sing <jsing@google.com> | 2013-08-24 01:18:04 +1000 |
| commit | 71dc91db0ff711c39fbf86ca9425c65442e40b57 (patch) | |
| tree | 2f45e2a4da3beac345141fc05f2153d8c53853ec /src/cmd/ld | |
| parent | 180da80e9004cd6e1bbfc026890a12e86d0f9f5d (diff) | |
| download | go-71dc91db0ff711c39fbf86ca9425c65442e40b57.tar.xz | |
all: compiler/bootstrap for dragonfly/amd64
Add dragonfly/amd64 support to the Go compiler, bootstrap and GOOS list.
R=devon.odell, bradfitz
CC=golang-dev
https://golang.org/cl/12796050
Diffstat (limited to 'src/cmd/ld')
| -rw-r--r-- | src/cmd/ld/doc.go | 2 | ||||
| -rw-r--r-- | src/cmd/ld/elf.c | 5 | ||||
| -rw-r--r-- | src/cmd/ld/elf.h | 1 | ||||
| -rw-r--r-- | src/cmd/ld/lib.h | 1 |
4 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/ld/doc.go b/src/cmd/ld/doc.go index 5f7c2565ef..06b4116247 100644 --- a/src/cmd/ld/doc.go +++ b/src/cmd/ld/doc.go @@ -33,6 +33,8 @@ Options new in this version: linker. This flag cannot be used when $GOOS is windows. -H darwin (only in 6l/8l) Write Apple Mach-O binaries (default when $GOOS is darwin) + -H dragonfly (only in 6l) + Write DragonFly ELF binaries (default when $GOOS is dragonfly) -H linux Write Linux ELF binaries (default when $GOOS is linux) -H freebsd diff --git a/src/cmd/ld/elf.c b/src/cmd/ld/elf.c index 52bf333bd7..6b3638ec56 100644 --- a/src/cmd/ld/elf.c +++ b/src/cmd/ld/elf.c @@ -1189,6 +1189,9 @@ asmbelf(vlong symo) case Hopenbsd: interpreter = openbsddynld; break; + case Hdragonfly: + interpreter = dragonflydynld; + break; } } resoff -= elfinterp(sh, startva, resoff, interpreter); @@ -1461,6 +1464,8 @@ elfobj: eh->ident[EI_OSABI] = ELFOSABI_NETBSD; else if(HEADTYPE == Hopenbsd) eh->ident[EI_OSABI] = ELFOSABI_OPENBSD; + else if(HEADTYPE == Hdragonfly) + eh->ident[EI_OSABI] = ELFOSABI_NONE; if(PtrSize == 8) eh->ident[EI_CLASS] = ELFCLASS64; else diff --git a/src/cmd/ld/elf.h b/src/cmd/ld/elf.h index dee5a63835..5b2ff041a3 100644 --- a/src/cmd/ld/elf.h +++ b/src/cmd/ld/elf.h @@ -1009,6 +1009,7 @@ extern char linuxdynld[]; extern char freebsddynld[]; extern char netbsddynld[]; extern char openbsddynld[]; +extern char dragonflydynld[]; int elfreloc1(Reloc*, vlong sectoff); void putelfsectionsyms(void); diff --git a/src/cmd/ld/lib.h b/src/cmd/ld/lib.h index 0ba5203d14..7ad630e1f0 100644 --- a/src/cmd/ld/lib.h +++ b/src/cmd/ld/lib.h @@ -344,6 +344,7 @@ enum { Hfreebsd, // FreeBSD ELF Hwindows, // MS Windows PE Hopenbsd, // OpenBSD ELF + Hdragonfly, // DragonFly ELF }; typedef struct Header Header; |
