1
0
mirror of https://github.com/golang/go synced 2024-11-12 09:50:21 -07:00

salvaging 183105 from dead client

a number of fixes for arm elf generation in 5l. -T now works as
advertised, -D now works properly.

R=rsc
CC=golang-dev
https://golang.org/cl/194076
This commit is contained in:
Kai Backman 2010-01-25 21:38:27 -08:00
parent 718be3215f
commit 3884f7321f
3 changed files with 9 additions and 8 deletions

View File

@ -301,13 +301,14 @@ asmb(void)
wputl(5); /* # of Shdrs */
wputl(4); /* Shdr with strings */
fo = 0;
va = INITTEXT & ~((vlong)INITRND - 1);
w = HEADR+textsize;
fo = HEADR;
va = rnd(INITTEXT, INITRND);
w = textsize;
linuxphdr(1, /* text - type = PT_LOAD */
1L+4L, /* text - flags = PF_X+PF_R */
0, /* file offset */
fo, /* file offset */
va, /* vaddr */
va, /* paddr */
w, /* file size */
@ -360,7 +361,7 @@ asmb(void)
stroffset = 1; /* 0 means no name, so start at 1 */
fo = HEADR;
va = (INITTEXT & ~((vlong)INITRND - 1)) + HEADR;
va = rnd(INITTEXT, INITRND);
w = textsize;
linuxshdr(".text", /* name */

View File

@ -19,10 +19,10 @@ Major changes include:
Original options are listed in the link above.
Options new in this version:
-L dir1,dir2,..
Search for libraries (package files) in the comma-separated list of directories.
The default is the single location $GOROOT/pkg/$GOOS_arm.
*/
package documentation

View File

@ -80,7 +80,7 @@ linkername[] =
void
usage(void)
{
fprint(2, "usage: 5l [-options] main.5\n");
fprint(2, "usage: 5l [-E entry] [-H head] [-L dir] [-T text] [-D data] [-R rnd] [-o out] main.5\n");
errorexit();
}
@ -221,7 +221,7 @@ main(int argc, char *argv[])
case 6: /* arm elf */
HEADR = linuxheadr();
if(INITTEXT == -1)
INITTEXT = 0x8000+HEADR;
INITTEXT = 0x8000;
if(INITDAT == -1)
INITDAT = 0;
if(INITRND == -1)