summaryrefslogtreecommitdiff
path: root/src/cmd/5l/obj.c
AgeCommit message (Collapse)AuthorFilesLines
2011-02-14Imported Upstream version 2011-02-01.1upstream/2011-02-01.1Ondřej Surý1-1/+9
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-393/+82
2010-06-30cgo: use slash-free relative paths for .so referencesRuss Cox1-0/+2
The Makefile and cgo now rewrite / to _ when creating the path. The .so for gosqlite.googlecode.com/hg/sqlite is named cgo_gosqlite.googlecode.com_hg_sqlite.so, and then 6l and 8l both include a default rpath of $GOROOT/pkg/$GOOS_$GOARCH. This should make it easier to move binaries from one system to another. Fixes issue 857. R=iant, r CC=golang-dev http://codereview.appspot.com/1700048
2010-06-21ld: add -u flag to check safe bits; discard old -u, -x flagsRuss Cox1-10/+0
R=r, r2 CC=golang-dev http://codereview.appspot.com/1707043
2010-02-26Add -r option to 6l/8l/5l.Ian Lance Taylor1-1/+4
This permits more flexibility with cgo and swig in cases where the program is run on a machine other than the one on which it is built. Rather than storing the absolute path to the shared library in the DT_NEEDED entry, we can store just the name, and let the dynamic linker find it using DT_RUNPATH or the LD_LIBRARY_PATH environment variable. R=rsc CC=golang-dev http://codereview.appspot.com/223068
2010-02-10arm: fix build on androidRuss Cox1-4/+10
R=kaib CC=golang-dev http://codereview.appspot.com/206059
2010-02-08*l/*c: add -V flag to display version numberAndrew Gerrand1-0/+3
R=rsc CC=golang-dev http://codereview.appspot.com/204044
2010-02-03search for runtime.a in the package path instead of hardcodingKai Backman1-5/+4
the location. remove last remnants of broken -l flag. R=rsc CC=golang-dev http://codereview.appspot.com/201042
2010-02-03ld: include main and runtime in the library loopRuss Cox1-1/+1
Fixes issue 585. R=r CC=golang-dev http://codereview.appspot.com/195075
2010-01-25salvaging 183105 from dead clientKai Backman1-2/+2
a number of fixes for arm elf generation in 5l. -T now works as advertised, -D now works properly. R=rsc CC=golang-dev http://codereview.appspot.com/194076
2010-01-255l, 6l, 8l: accept only one object fileRuss Cox1-4/+4
(package main; others are pulled in automatically) R=ken2 CC=golang-dev http://codereview.appspot.com/194069
2010-01-25ld: do not load the same object file multiple times.Russ Cox1-0/+6
eliminates spurious multiple initialization errors. give more information in the multiple init errors that remain. Fixes issue 87. R=r CC=golang-dev http://codereview.appspot.com/194052
2010-01-22eliminate the package global name space assumption in object filesRuss Cox1-4/+8
5g/6g/8g: add import statements to export metadata, mapping package path to package name. recognize "" as the path of the package in export metadata. use "" as the path of the package in object symbol names. 5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package. 5l/6l/8l: rewrite "" in symbol names as object files are read. gotest: handle new symbol names. gopack: handle new import lines in export metadata. Collectively, these changes eliminate the assumption of a global name space in the object file formats. Higher level pieces such as reflect and the computation of type hashes still depend on the assumption; we're not done yet. R=ken2, r, ken3 CC=golang-dev http://codereview.appspot.com/186263 Committer: Russ Cox <rsc@golang.org>
2010-01-19cleanup toward eliminating package global name spaceRuss Cox1-1/+1
* switch to real dot (.) instead of center dot (·) everywhere in object files. before it was half and half depending on where in the name it appeared. * in 6c/6a/etc identifiers, · can still be used but turns into . immediately. * in export metadata, replace package identifiers with quoted strings (still package names, not paths). R=ken2, r CC=golang-dev http://codereview.appspot.com/190076
2009-12-17 first stub for softfloats, intercepts float instructions and skipsKai Backman1-1/+12
them in the stream. R=rsc http://codereview.appspot.com/174052
2009-10-25 make 5l ignore multiple defs, remove use of multipleKai Backman1-0/+9
defs from embed1 and gotest R=rsc http://go/go-review/1014009
2009-10-08dupok, gcc compile fix, sync and syscall asm fixKai Backman1-3/+10
R=rsc APPROVED=rsc DELTA=27 (18 added, 0 deleted, 9 changed) OCL=35503 CL=35505
2009-10-07factor portable object+library bits out of 5l/6l/8l into ldRuss Cox1-629/+30
R=r DELTA=3214 (904 added, 2260 deleted, 50 changed) OCL=35425 CL=35427
2009-10-065l library loading, 64 bit entry pointsKai Backman1-6/+31
R=rsc APPROVED=rsc DELTA=58 (52 added, 3 deleted, 3 changed) OCL=35417 CL=35417
2009-08-18slashed warningsKai Backman1-59/+6
R=rsc APPROVED=rsc DELTA=35 (2 added, 1 deleted, 32 changed) OCL=33436 CL=33453
2009-08-07remove 8.out before creating it.Russ Cox1-0/+1
hope this will work around Mac NFS bug where writing to an 8.out that has crashed recently sometimes wedges NFS. R=r DELTA=3 (3 added, 0 deleted, 0 changed) OCL=32906 CL=32908
2009-07-07the ld-supplied typestrings are now obsoleteRuss Cox1-2/+0
R=r DELTA=167 (0 added, 167 deleted, 0 changed) OCL=31304 CL=31316
2009-07-06cleaned up data generation in 5g, reverted 5l handling of D_ADDR.Kai Backman1-1/+0
R=rsc APPROVED=rsc DELTA=46 (0 added, 5 deleted, 41 changed) OCL=31241 CL=31243
2009-07-06agen, sgen, cgen_callret, cgen_asop, D_ADDR handling, gmoveKai Backman1-0/+1
8bit and 16bit, some optoas, replaced Addr.index with Addr.name empty function compiles, mutex compiles R=rsc APPROVED=rsc DELTA=908 (83 added, 41 deleted, 784 changed) OCL=31127 CL=31188
2009-06-16grab bag of changes aimed at getting stack splitting to work:Kai Backman1-0/+2
- morestack support for 5l and arm runtime - argsize support in 5c, 5l, ar and nm. assembly code from 5a will break in interesting ways unless NOSPLIT is specified - explicit cond execution constants - fix 5l output to use %d instead of %ld so that negative values show. - added a lot of code to arm/asm.s. runtime entry code almost working currently aborts at gogo not implemented R=rsc APPROVED=rsc DELTA=305 (125 added, 29 deleted, 151 changed) OCL=30246 CL=30347
2009-06-09Added ld/go.c functionality into 5l, primarily dead codeKai Backman1-30/+54
removal and typesigs and strings. Also added new header support to 5c/5a/5l. R=rsc APPROVED=rsc DELTA=98 (66 added, 10 deleted, 22 changed) OCL=30103 CL=30123
2009-06-08initial morestack support for 5l. still disabled, doesn't work.Kai Backman1-2/+63
R=rsc APPROVED=rsc DELTA=245 (167 added, 63 deleted, 15 changed) OCL=30039 CL=30081
2009-06-06move src/runtime -> src/lib/runtime;Russ Cox1-2/+2
hand-edited files. R=r DELTA=125 (77 added, 16 deleted, 32 changed) OCL=30001 CL=30008
2009-05-28Change 5l to use Biobufs for IO.Kai Backman1-109/+80
R=rsc APPROVED=rsc DELTA=132 (16 added, 45 deleted, 71 changed) OCL=29468 CL=29497
2009-05-26Added automatic detection of system libraries to 5l.Kai Backman1-9/+15
R=rsc APPROVED=rsc DELTA=83 (73 added, 3 deleted, 7 changed) OCL=29276 CL=29382
2009-04-10Adding ARM elf support to the 5l linker.Kai Backman1-0/+10
R=rsc APPROVED=rsc DELTA=312 (312 added, 0 deleted, 0 changed) OCL=27133 CL=27326
2009-03-25This is really two changes in one but given interdependenciesKai Backman1-13/+13
and expected review latency I needed to combine the CLs. 1. Made the 5* toolpath build using the go build system. Hooked the subdirectories to clean.bash but added a separate make5.bash for now. Minor massage to make the code more similar to the current structure of 6c/6a/6l. 2. Change all references from long to int32 in line with similar change for the other toolchains. The end result is that 5c, 5a and 5l can now be compiled and the executables start up properly. Haven't thrown any input at them yet. R=rsc APPROVED=rsc DELTA=1052 (392 added, 328 deleted, 332 changed) OCL=26757 CL=26761
2009-03-135a 5c 5l from inferno distributionKai Backman1-0/+1588
R=rsc APPROVED=rsc DELTA=19042 (19042 added, 0 deleted, 0 changed) OCL=26268 CL=26270