1
0
mirror of https://github.com/golang/go synced 2024-10-04 09:21:21 -06:00
go/src/pkg
Russ Cox 19fd5c787f 5l, 6l, 8l: link pclntab and symtab as ordinary rodata symbols
That is, move the pc/ln table and the symbol table
into the read-only data segment.  This eliminates
the need for a special load command to map the
symbol table into memory, which makes the
information available on systems that couldn't handle
the magic load to 0x99000000, like NaCl and ARM QEMU
and Linux without config_highmem=y.  It also
eliminates an #ifdef and some clumsy code to
find the symbol table on Windows.

The bad news is that the binary appears to be bigger
than it used to be.  This is not actually the case, though:
the same amount of data is being mapped into memory
as before, and the tables are still read-only, so they're
still shared across multiple instances of the binary as
they were before.  The difference is just that the tables
aren't squirreled away in some section that "size" doesn't
know to look at.

This is a checkpoint.
It probably breaks Windows and breaks NaCl more
than it used to be broken, but those will be fixed.
The logic involving -s needs to be revisited too.

Fixes #871.

R=ken2
CC=golang-dev
https://golang.org/cl/2587041
2010-10-19 18:07:19 -04:00
..
archive archive/zip: new package for reading ZIP files 2010-09-30 11:59:46 +10:00
asn1 asn1: make interface consistent with json 2010-09-24 12:34:18 -04:00
big big: add random number generation 2010-10-18 14:09:20 -04:00
bufio bufio: bulletproof UnreadRune 2010-10-13 17:12:43 -07:00
bytes bytes: fix typo in AddByte comment 2010-09-27 11:41:43 +10:00
cmath tests: fix prints 2010-09-23 13:48:56 +10:00
compress 5g: register allocation bugs 2010-09-12 00:06:45 -04:00
container exp/iterable: delete 2010-10-11 22:38:42 -04:00
crypto log: new interface 2010-10-12 12:59:18 -07:00
debug 5l, 6l, 8l: first pass cleanup 2010-10-13 15:51:21 -04:00
ebnf build: no required environment variables 2010-08-18 10:08:49 -04:00
encoding ... changes 2010-09-24 11:55:48 -04:00
exec exec.LookPath() unix/windows separation 2010-09-12 17:38:36 +10:00
exp log: new interface 2010-10-12 12:59:18 -07:00
expvar log: new interface 2010-10-12 12:59:18 -07:00
flag build: no required environment variables 2010-08-18 10:08:49 -04:00
fmt fmt: allow %d on []byte 2010-10-04 11:57:48 +02:00
go Use Errorf where appropriate. 2010-10-01 14:14:18 +10:00
gob log: new interface 2010-10-12 12:59:18 -07:00
hash build: no required environment variables 2010-08-18 10:08:49 -04:00
html html: disable print 2010-09-23 22:05:42 -04:00
http log: new interface 2010-10-12 12:59:18 -07:00
image image: add an offset to Tiled. 2010-10-13 12:05:21 +11:00
index/suffixarray suffixarray: cleanup per suggestion from Roger Peppe 2010-09-22 11:03:57 -07:00
io io/ioutil: use _test not _obj in test 2010-09-23 14:31:44 -04:00
json json: do not write to unexported fields 2010-09-28 14:40:23 -04:00
log log: update the documentation to clarify the behavior 2010-10-17 09:20:23 -07:00
math math: Fix off-by-one error in Ilogb and Logb. 2010-09-28 10:15:21 -04:00
mime mime: delete unnecessary constant conversions. 2010-08-20 07:42:02 +10:00
net net: allow _ in names 2010-10-07 06:45:50 -04:00
netchan netchan: add new method Hangup to terminate transmission on a channel 2010-10-18 15:09:43 -07:00
nntp ... changes 2010-09-24 11:55:48 -04:00
os os: make tests work on windows 2010-10-04 17:31:49 +11:00
patch build: no required environment variables 2010-08-18 10:08:49 -04:00
path ... changes 2010-09-24 11:55:48 -04:00
rand tests: fix prints 2010-09-23 13:48:56 +10:00
reflect gc: fix reflect table method receiver 2010-09-28 13:43:50 -04:00
regexp regexp: delete Iter methods 2010-09-21 21:21:44 +10:00
rpc log: new interface 2010-10-12 12:59:18 -07:00
runtime 5l, 6l, 8l: link pclntab and symtab as ordinary rodata symbols 2010-10-19 18:07:19 -04:00
scanner Fix incorrect reporting of error in Scanner.next() when Read reads > 0 bytes but returns os.EOF. 2010-09-01 15:15:37 -07:00
smtp smtp: new package 2010-10-13 22:07:28 -04:00
sort build: no required environment variables 2010-08-18 10:08:49 -04:00
strconv tests: fix prints 2010-09-23 13:48:56 +10:00
strings bytes, strings: change lastIndexFunc to use DecodeLastRune 2010-09-23 20:40:11 +10:00
sync build: no required environment variables 2010-08-18 10:08:49 -04:00
syscall syscall: fix arm networking 2010-10-14 16:13:44 -04:00
syslog log: new interface 2010-10-12 12:59:18 -07:00
tabwriter build: no required environment variables 2010-08-18 10:08:49 -04:00
template gc: fix reflect table method receiver 2010-09-28 13:43:50 -04:00
testing log: new interface 2010-10-12 12:59:18 -07:00
time time: add After 2010-10-11 13:45:26 +11:00
try new command gotry. 2010-10-11 12:40:13 -07:00
unicode tests: fix prints 2010-09-23 13:48:56 +10:00
unsafe runtime: introduce unsafe.New and unsafe.NewArray 2009-12-07 15:51:58 -08:00
utf8 utf8.String: provide an Init method to avoid unnecessary allocation 2010-09-27 12:06:29 -07:00
utf16 build: no required environment variables 2010-08-18 10:08:49 -04:00
websocket log: new interface 2010-10-12 12:59:18 -07:00
xml xml: Allow entities inside CDATA tags 2010-09-24 12:23:01 -04:00
deps.bash build: clear custom variables like GREP_OPTIONS 2010-09-28 23:51:55 -04:00
Makefile arm: enable 6 more tests after net fix 2010-10-14 17:15:45 -04:00