Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This avoids a crash when using cgo where glibc's malloc thinks
that it can use some of the memory following the symbol table.
This fails because the symbol table is mapped read-only, which
affects the whole page.
R=rsc
CC=golang-dev
http://codereview.appspot.com/1616042
|
|
5l, 6l, 8l: change ELF header so that strip doesn't destroy binary
Fixes issue 261.
R=iant, r
CC=golang-dev
http://codereview.appspot.com/994044
|
|
Due to page boundary rounding, the header would have
been loaded as part of the text segment already, but this
change placates the "paxctl" tool on so-called hardened
Linux distributions (as if normal distributions weren't already
hard enough to use).
R=r
CC=golang-dev
http://codereview.appspot.com/954041
|
|
R=rsc
CC=golang-dev
http://codereview.appspot.com/661043
|
|
Cgo users will need to rerun cgo.
R=rsc
CC=golang-dev
http://codereview.appspot.com/692041
|
|
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
|
|
Allows binary to run on some Linux system.
Fix for issue 365.
R=rsc
CC=golang-dev
http://codereview.appspot.com/199096
|
|
R=r
http://codereview.appspot.com/156085
|
|
necessary on freebsd.
R=r, dho
CC=golang-dev
http://codereview.appspot.com/157069
|
|
R=rsc
http://codereview.appspot.com/157046
|
|
data initialization to n*log(n)
R=rsc
http://codereview.appspot.com/158041
|
|
cgo/libmach remain unimplemented. However, compilers, runtime,
and packages are 100%. I still need to go through and implement
missing syscalls (at least make sure they're all listed), but
for all shipped functionality, this is done. Ship! ;)
R=rsc, VenkateshSrinivas
http://codereview.appspot.com/152142
Committer: Russ Cox <rsc@golang.org>
|
|
repeats 8l change http://code.google.com/p/go/source/detail?r=7594e16b5cf9
Fixes issue 179.
R=iant
http://codereview.appspot.com/154145
|
|
hopefully no change
R=rsc
http://go/go-review/1017035
|
|
enough to make nm and oprofile work.
R=r
http://go/go-review/1017016
|
|
R=r
DELTA=3214 (904 added, 2260 deleted, 50 changed)
OCL=35425
CL=35427
|
|
better mach binaries.
cgo working on darwin+linux amd64+386.
eliminated context switches - pi is 30x faster.
add libcgo to build.
on snow leopard:
- non-cgo binaries work; all tests pass.
- cgo binaries work on amd64 but not 386.
R=r
DELTA=2031 (1316 added, 626 deleted, 89 changed)
OCL=35264
CL=35304
|
|
R=r
DELTA=771 (374 added, 287 deleted, 110 changed)
OCL=35187
CL=35187
|
|
mostly cut and paste from 6l.
R=r
DELTA=930 (525 added, 182 deleted, 223 changed)
OCL=34976
CL=34976
|
|
move out of export data into its own section
R=r
DELTA=222 (71 added, 99 deleted, 52 changed)
OCL=33801
CL=33808
|
|
* use //ffi comments in package import data
to generate relocation entries and library loads.
* call initffi in rt0.s if present
R=r
DELTA=117 (91 added, 3 deleted, 23 changed)
OCL=33739
CL=33750
|
|
* more elf constants from FreeBSD
* simple relocation demo
R=r
DELTA=410 (354 added, 49 deleted, 7 changed)
OCL=33689
CL=33729
|
|
* remove now-unused D_SBIG (was for typestrings)
* rename elf64.[ch] to elf.[ch]
* pull in elf headers from FreeBSD instead of writing our own
* emit non-header ELF data in data section
* stub out a few more ELF sections needed for dynamic loading
R=r
DELTA=1928 (1237 added, 635 deleted, 56 changed)
OCL=33642
CL=33658
|
|
do not emit unreachable data symbols.
R=austin
DELTA=103 (71 added, 4 deleted, 28 changed)
OCL=33325
CL=33622
|
|
introduced explicit "data" symbol instead of etext
to mark beginning of data, so that using larger
alignment (i.e. 4MB like GNU loader) doesn't
confuse garbage collector.
split dodata into dodata and dobss in preparation
for putting the dynamic data + headers in the data
segment instead of stuffed at the beginning of the binary.
R=r
DELTA=52 (37 added, 3 deleted, 12 changed)
OCL=33610
CL=33618
|
|
R=r
DELTA=51 (14 added, 24 deleted, 13 changed)
OCL=31968
CL=31971
|
|
R=rsc
DELTA=16 (9 added, 3 deleted, 4 changed)
OCL=31956
CL=31963
|
|
statically linked as far
as go is concerned). the -d flag is now flipped; as on the mac, -d disables dynamic.
much remains to be improved to move the output closer to the gcc format.
R=rsc
DELTA=366 (310 added, 30 deleted, 26 changed)
OCL=31929
CL=31951
|
|
R=rsc
DELTA=68 (21 added, 28 deleted, 19 changed)
OCL=31857
CL=31864
|
|
make endianness explicit when writing values.
R=rsc
DELTA=129 (37 added, 7 deleted, 85 changed)
OCL=31826
CL=31854
|
|
R=rsc
DELTA=51 (41 added, 0 deleted, 10 changed)
OCL=31815
CL=31818
|
|
R=rsc
DELTA=181 (93 added, 63 deleted, 25 changed)
OCL=31802
CL=31812
|
|
R=rsc
DELTA=130 (68 added, 6 deleted, 56 changed)
OCL=31798
CL=31798
|
|
R=rsc
DELTA=337 (165 added, 119 deleted, 53 changed)
OCL=31786
CL=31794
|
|
in favor of the lib9 compatibility layer. no need for two.
now that mycreate is gone, .6 files are 0644 not 0755.
TBR=r
OCL=26679
CL=26679
|
|
also use thechar, to make copy/paste easier.
R=ken
OCL=26583
CL=26588
|
|
R=r
DELTA=11 (6 added, 0 deleted, 5 changed)
OCL=23629
CL=23631
|
|
cuts simple test binary by 7%.
would be more except for reflection.
R=r
DELTA=126 (117 added, 4 deleted, 5 changed)
OCL=23163
CL=23237
|
|
silently miscompiling.
R=rsc
OCL=22872
CL=22872
|
|
unless given -d flag.
the resulting binary doesn't *use* any dynamic libraries,
it just has a reference to the dynamic linker and an
empty list of needed symbols and libraries.
this is enough to make 6.out binaries that can be run
under dtrace / dtruss.
R=r
DELTA=39 (34 added, 0 deleted, 5 changed)
OCL=20476
CL=20482
|
|
recording correct place in mach tables
used by debuggers.
R=r
DELTA=4 (0 added, 2 deleted, 2 changed)
OCL=19810
CL=19849
|
|
* 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
|
|
R=r
DELTA=419 (409 added, 5 deleted, 5 changed)
OCL=17524
CL=17530
|
|
will make reading type info easier.
R=r
DELTA=21 (2 added, 1 deleted, 18 changed)
OCL=17491
CL=17501
|
|
- .text begins at INITTEXT, not 0
and does not include HEADR
- .shstrtab, .gosymtab, .gopclntab have alignment 1
- .gosymtab, .gopclntab have type SHT_PROGBITS
R=r
DELTA=9 (0 added, 0 deleted, 9 changed)
OCL=15953
CL=15956
|
|
* change .gosymtab and .gopclntab to section 7 (note)
* start INITTEXT at 4MB, not 4KB
R=r
OCL=14953
CL=14959
|
|
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
|
|
SVN=123521
|
|
tacked above each TEXT entry
SVN=123496
|