summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* libbio, all cmd: consistently use BGETC/BPUTC instead of Bgetc/BputcDmitriy Vyukov2013-08-301-2/+24
| | | | | | | | | | | | | | | | | | | Also introduce BGET2/4, BPUT2/4 as they are widely used. Slightly improve BGETC/BPUTC implementation. This gives ~5% CPU time improvement on go install -a -p1 std. Before: real user sys 0m23.561s 0m16.625s 0m5.848s 0m23.766s 0m16.624s 0m5.846s 0m23.742s 0m16.621s 0m5.868s after: 0m22.999s 0m15.841s 0m5.889s 0m22.845s 0m15.808s 0m5.850s 0m22.889s 0m15.832s 0m5.848s R=golang-dev, r CC=golang-dev https://codereview.appspot.com/12745047
* include/plan9: define size_t to fix build breakageIan Lance Taylor2013-06-281-0/+4
| | | | | | R=golang-dev, bradfitz CC=golang-dev https://codereview.appspot.com/10760043
* build: add intptr typedef for Plan 9Anthony Martin2013-06-043-24/+27
| | | | | | | | | | | | | | | | | | | | | | Revision 01810e5c68e9 added the following to src/pkg/runtime/stack.h: StackPreempt = (uintptr)(intptr)0xffffade, The typedef for intptr is defined in two places: 1. src/pkg/runtime/runtime.h for use by the runtime 2. include/u.h for use by the compilers and linkers On Plan 9, we don't use include/u.h but instead augment the host's u.h with extra typedefs. These are in include/plan9/GOARCH/u.h. We forgot to add intptr. It didn't cause a problem until now since that typedef was never used outside the runtime. R=golang-dev, bradfitz CC=golang-dev https://codereview.appspot.com/10023043
* build: remove special definition of Runemax on Plan 9Anthony Martin2013-06-011-7/+0
| | | | | | | | The Bell Labs distribution now supports 21-bit runes. R=golang-dev, akumar CC=golang-dev https://codereview.appspot.com/9249045
* include: add a README fileShenghou Ma2013-05-221-0/+6
| | | | | | R=golang-dev, r CC=golang-dev https://codereview.appspot.com/9392049
* include/plan9/libc.h: fix Plan 9 buildDavid du Colombier2013-03-301-0/+1
| | | | | | | | | | | | Add missing getgoextlinkenabled(void) declaration in Plan 9 libc.h. This function was added as part of CL #8183043. R=golang-dev, minux.ma CC=golang-dev https://codereview.appspot.com/8191043 Committer: Shenghou Ma <minux.ma@gmail.com>
* cmd/dist, cmd/ld: GO_EXTLINK_ENABLED=0 defaults to -linkmode=internalIan Lance Taylor2013-03-291-0/+1
| | | | | | | | | | | | Change build system to set GO_EXTLINK_ENABLED=0 by default for OS X 10.6, since the system linker has a bug and can not handle the object files generated by 6l. Fixes issue 5130. R=golang-dev, r CC=golang-dev https://codereview.appspot.com/8183043
* build: fix for 32-bit windows builds on 64-bit windows systemRuss Cox2013-03-151-1/+1
| | | | | | | | | | Thanks to jon.forums@ for the fix. Fixes issue 5051. R=golang-dev, minux.ma CC=golang-dev https://codereview.appspot.com/7813045
* lib9: add mktempdir, removeall, runprogRuss Cox2013-03-061-0/+4
| | | | | | R=golang-dev, bradfitz CC=golang-dev https://codereview.appspot.com/7523043
* build: clang supportRuss Cox2013-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | This works with at least one version of clang that existed at one moment in time. No guarantees about clangs past or future. To try: CC=clang all.bash It does not work with the Xcode clang, because that clang fails at printing a useful answer to: clang -print-libgcc-file-name The clang that works prints a full path name for that command, not just "libgcc.a". Fixes issue 4713. R=iant, minux.ma CC=golang-dev https://codereview.appspot.com/7323068
* include: Plan 9: hide any previous definition of RunemaxAkshat Kumar2013-01-301-0/+2
| | | | | | | | | | | | | Runemax is already defined in libc on 64-bit version of Plan 9, but is not defined on other versions. To accommodate, we make sure to rename any previous instance of Runemax and re-define it subsequently. R=rsc, ality, rminnich CC=golang-dev https://codereview.appspot.com/7232059 Committer: Russ Cox <rsc@golang.org>
* build: add missing function declarations for Plan 9Lucio De Re2013-01-111-0/+12
| | | | | | | | R=golang-dev, minux.ma, rsc, ality, seed CC=golang-dev https://codereview.appspot.com/7034052 Committer: Anthony Martin <ality@pbrane.org>
* cmd/5l, cmd/6l, cmd/8l, cmd/cc, cmd/gc: new flag parsingRuss Cox2013-01-061-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds a flag parser that matches the semantics of Go's package flag. It also changes the linkers and compilers to use the new flag parser. Command lines that used to work, like 8c -FVw 6c -Dfoo 5g -I/foo/bar now need to be split into separate arguments: 8c -F -V -w 6c -D foo 5g -I /foo/bar The new spacing will work with both old and new tools. The new parser also allows = for arguments, as in 6c -D=foo 5g -I=/foo/bar but that syntax will not work with the old tools. In addition to matching standard Go binary flag parsing, the new flag parser generates more detailed usage messages and opens the door to long flag names. The recently added gc flag -= has been renamed -complete. R=remyoudompheng, daniel.morsing, minux.ma, iant CC=golang-dev https://codereview.appspot.com/7035043
* cmd/dist, cmd/8g: implement GO386=387/sse to choose FPU flavour.R?my Oudompheng2013-01-021-0/+1
| | | | | | | | | | | | | | | A new environment variable GO386 is introduced to choose between code generation targeting 387 or SSE2. No auto-detection is performed and the setting defaults to 387 to preserve previous behaviour. The patch is a reorganization of CL6549052 by rsc. Fixes issue 3912. R=minux.ma, rsc CC=golang-dev https://codereview.appspot.com/6962043
* lib9: remove unreferenced externs and getuser()Carl Mastrangelo2012-11-081-4/+0
| | | | | | | | R=golang-dev, dave, rsc CC=golang-dev http://codereview.appspot.com/6820115 Committer: Russ Cox <rsc@golang.org>
* lib9, cmd/dist, cmd/5l: embed GOARM into cmd/5l and auto detect GOARMShenghou Ma2012-10-221-0/+1
| | | | | | R=rsc, dave CC=golang-dev http://codereview.appspot.com/6638043
* build: u.h for plan9 armLucio De Re2012-10-211-0/+14
| | | | | | | | R=golang-dev, minux.ma, ality CC=golang-dev http://codereview.appspot.com/6743052 Committer: Russ Cox <rsc@golang.org>
* src: Add support for 64-bit version of Plan 9Akshat Kumar2012-08-311-0/+14
| | | | | | | | | | | | This set of changes extends the Plan 9 support to include the AMD64 architecture and should work on all versions of Plan 9. R=golang-dev, rminnich, noah.evans, rsc, minux.ma, npe CC=akskuma, golang-dev, jfflore, noah.evans http://codereview.appspot.com/6479052 Committer: Russ Cox <rsc@golang.org>
* build: remove unnecessary pragmasAnthony Martin2012-02-062-5/+0
| | | | | | | | R=golang-dev, rsc CC=golang-dev http://codereview.appspot.com/5629055 Committer: Russ Cox <rsc@golang.org>
* build: add include files for Plan 9Anthony Martin2012-01-316-0/+55
| | | | | | | | | | | | | | | | | Previously, I had made available a tarball of the modified system headers that were necessary to build on Plan 9 but that was only a stopgap. I think this method is much better since no files outside of $GOROOT will have to be added or modified during the build process. Also, this is just the first step. I'll change the build to reference these files in another CL (that also contains a few more Makefile changes). R=golang-dev, rsc CC=golang-dev http://codereview.appspot.com/5552056
* os: OS-dependent bits to support NetBSD.Christopher Nielsen2011-12-151-1/+1
| | | | | | | | R=golang-dev, jsing CC=golang-dev http://codereview.appspot.com/5482068 Committer: Russ Cox <rsc@golang.org>
* lib9: add ctimeRuss Cox2011-11-071-0/+2
| | | | | | | | ctime differs across Unix vs Plan 9 so add to portability library R=golang-dev, r CC=golang-dev http://codereview.appspot.com/5363043
* gopack: change archive file name length back to 16Russ Cox2011-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | This CL grew the archive file name length from 16 to 64: changeset: 909:58574851d792 user: Russ Cox <rsc@golang.org> date: Mon Oct 20 13:53:56 2008 -0700 Back then, every x.go file in a package became an x.6 file in the archive. It was important to be able to allow the use of long Go source file names, hence the increase in size. Today, all Go source files compile into a single _go_.6 file regardless of their names, so the archive file name length no longer needs to be long. The longer name causes some problems on Plan 9, where the native archive format is the same but with 16-byte names, so revert back to 16. R=golang-dev, r CC=golang-dev http://codereview.appspot.com/5333050
* 5a, 5c, 6a, 6c, 8a, 8c: fix Windows file pathsHector Chu2011-09-071-0/+2
| | | | | | | | | | Verified with objdump -W. R=alex.brainman, rsc CC=golang-dev http://codereview.appspot.com/4974061 Committer: Russ Cox <rsc@golang.org>
* libmach: support reading symbols from Windows .exe for nmMateusz Czapli?ski2011-08-291-0/+1
| | | | | | | | | | Fixes Issue 979. R=rsc, alex.brainman CC=golang-dev, vcc.163 http://codereview.appspot.com/4894051 Committer: Russ Cox <rsc@golang.org>
* fix windows/amd64 build with newest mingw-w64Hector Chu2011-08-291-0/+2
| | | | | | | | R=alex.brainman, golang-dev CC=golang-dev http://codereview.appspot.com/4968048 Committer: Alex Brainman <alex.brainman@gmail.com>
* build: define getcallerpc in u.h (fix for Plan 9 build)Lucio De Re2011-07-251-0/+2
| | | | | | | | | | | | | | . By defining getcallerpc(x) as __builtin_return_address(0) here, it becomes possible to use the Plan 9 compatible form when compiling using GCC. The alternative is to add conditional compilation based on the compiler identity in "cmd/8g/gsubr.c" to distinguish between the two cases. R=golang-dev CC=golang-dev, rsc http://codereview.appspot.com/4800048 Committer: Russ Cox <rsc@golang.org>
* build: fixes for mingw-w64Wei Guangjing2011-07-251-2/+6
| | | | | | | | R=rsc CC=golang-dev http://codereview.appspot.com/4742042 Committer: Russ Cox <rsc@golang.org>
* build: fix header files for Plan 9Lucio De Re2011-06-141-0/+1
| | | | | | | | | | | | | | | | | | | The "elf.h" header changes involve only comments, the released Plan 9 C preprocessing function does not cope with multiline comments following the #define keyword. All multiline comments have been moved to the line above the associated definition. Sigh! Fixing the Plan 9 compiler is not an option. <time.h> does not exist in the Plan 9 Native library. I have moved it from src/cmd/ld/pe.h to include/u.h. RSC correctly points out that this copy of <u.h> is not the one used to compile the Go release on Plan 9 platforms. R=golang-dev CC=golang-dev, rsc http://codereview.appspot.com/4574042 Committer: Russ Cox <rsc@golang.org>
* windows: replace remaining __MINGW32__ instances with _WIN32Joe Poirier2011-02-082-4/+4
| | | | | | | | R=rsc, brainman CC=golang-dev http://codereview.appspot.com/4146041 Committer: Russ Cox <rsc@golang.org>
* cov and prof: implement windows version (just function stubs and build mods)Joe Poirier2010-07-301-1/+7
| | | | | | | | R=brainman, rsc CC=golang-dev http://codereview.appspot.com/1676054 Committer: Alex Brainman <alex.brainman@gmail.com>
* gc: fix SIGBUSRuss Cox2010-07-281-0/+5
| | | | | | R=ken2 CC=golang-dev http://codereview.appspot.com/1906042
* Fix *l/*c -V flag segfaultDean Prichard2010-02-081-0/+1
| | | | | | | | | | *l/*c -V will segfault on macos without this trivial fix. R=adg CC=golang-dev http://codereview.appspot.com/205042 Committer: Andrew Gerrand <adg@golang.org>
* libc: add goos, goarch, goroot. fixes buildRuss Cox2010-01-191-0/+4
| | | | | | TBR=r CC=golang-dev http://codereview.appspot.com/190059
* Ports of lib9, libbio and libmach to Windows.Hector Chu2009-11-302-6/+17
| | | | | | | R=rsc http://codereview.appspot.com/157159 Committer: Russ Cox <rsc@golang.org>
* support for 5.out filesRuss Cox2009-10-191-0/+49
| | | | | | | R=kaib DELTA=1262 (1247 added, 7 deleted, 8 changed) OCL=35907 CL=35909
* convert C runtime to 32-bit runes;Russ Cox2009-08-311-4/+4
| | | | | | | | | rune now unsigned. R=r DELTA=10 (1 added, 0 deleted, 9 changed) OCL=34140 CL=34146
* rename libmach_amd64 libmachRob Pike2009-08-141-12/+0
| | | | | | R=rsc OCL=33273 CL=33276
* change gotype in symbol table fromRuss Cox2009-08-121-1/+1
| | | | | | | | | | character string to machine address. not filled in, just carved out. R=austin DELTA=77 (11 added, 34 deleted, 32 changed) OCL=33122 CL=33124
* fix gotest by fixing nm -s to print in file order by storing a sequence numberRob Pike2009-04-151-0/+1
| | | | | | | | | as the .6 file is read. now tests will be run in file order. R=rsc DELTA=9 (6 added, 1 deleted, 2 changed) OCL=27542 CL=27544
* libmach:Russ Cox2009-02-031-1/+1
| | | | | | | | | | | | | | | | | | | * heuristic to go farther during stack traces. * significantly improved Linux thread handing. acid: * update to new libmach interface. prof: * use new libmach interface. * multiple thread support (derived from Rob's copy). * first steps toward pprof-like graphs: keep counters indexed by pc,callerpc pairs. R=r DELTA=909 (576 added, 123 deleted, 210 changed) OCL=24240 CL=24259
* symbol table changesRuss Cox2008-11-201-0/+1
| | | | | | | | | | | | | | | | | | * add gotype string to symbol table * fill in gotype in 6l for known funcs/vars * print gotype with nm -t * load symbol and pc/ln tables into memory at magic address 0x99<<32. * add sys.symdat() to retrieve raw bytes of symbol table and pc/ln table. most of this should be considered experimental and subject to change. R=r DELTA=157 (128 added, 0 deleted, 29 changed) OCL=19746 CL=19750
* 6l:Russ Cox2008-10-201-5/+4
| | | | | | | | | | | | use libbio instead of maintaining own buffer libbio: always use vlong offsets; die if off_t is too small R=r DELTA=163 (23 added, 63 deleted, 77 changed) OCL=17508 CL=17512
* 6g:Russ Cox2008-10-201-1/+1
| | | | | | | | | | | | | | | make sure methods end up immediately following the struct they are methods on. ar: eliminate duplicate definitions from __.PKGDEF. check that multiple .6 do not give different defs for same exported type/var/func/const. increase ar header name size from 16 to 64 bytes R=r DELTA=379 (333 added, 18 deleted, 28 changed) OCL=17477 CL=17481
* acid fixes etc. still not perfect.Russ Cox2008-09-161-0/+1
| | | | | | | R=r DELTA=764 (694 added, 38 deleted, 32 changed) OCL=15285 CL=15395
* fix go buildRuss Cox2008-08-041-14/+30
| | | | | | | | | these files were missing from the acid change (include/mach_amd64.h in particular) R=r OCL=13858 CL=13858
* make 6a, 6c, 6g, 6l, libmach_amd64 build on 64-bit gcc.Russ Cox2008-08-034-124/+134
| | | | | | | | | | | | | | | | | these guys really really want long to be 32-bits, so ,s/long/int32/ (and then manual fixup). still passes all tests. (i started out looking for just those longs that needed to be int32 instead, and it was just too hard to track them down one by one.) the longs were rare enough that i don't think it will cause integration problems. R=ken OCL=13787 CL=13789
* Add 6dbRob Pike2008-06-124-0/+683
| | | | SVN=122505
* adding ar.h for source-level compatibility in 6l.Rob Pike2008-06-121-0/+47
| | | | | | binary compatibility is ok SVN=122489
* add missing include fileRob Pike2008-06-121-0/+1
| | | | SVN=122485