~john-koepi/ubuntu/trusty/golang/default

« back to all changes in this revision

Viewing changes to src/cmd/8l/asm.c

  • Committer: Bazaar Package Importer
  • Author(s): Ondřej Surý
  • Date: 2011-08-03 17:04:59 UTC
  • mfrom: (14.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20110803170459-wzd99m3567y80ila
Tags: 1:59-1
* Imported Upstream version 59
* Refresh patches to a new release
* Fix FTBFS on ARM (Closes: #634270)
* Update version.bash to work with Debian packaging and not hg
  repository

Show diffs side-by-side

added added

removed removed

Lines of Context:
83
83
        ElfStrText,
84
84
        ElfStrData,
85
85
        ElfStrBss,
86
 
        ElfStrGosymcounts,
87
 
        ElfStrGosymtab,
88
 
        ElfStrGopclntab,
89
86
        ElfStrShstrtab,
90
87
        ElfStrSymtab,
91
88
        ElfStrStrtab,
531
528
        elfstr[ElfStrBss] = addstring(shstrtab, ".bss");
532
529
        addstring(shstrtab, ".elfdata");
533
530
        addstring(shstrtab, ".rodata");
 
531
        addstring(shstrtab, ".gosymtab");
 
532
        addstring(shstrtab, ".gopclntab");
534
533
        if(!debug['s']) {
535
 
                elfstr[ElfStrGosymcounts] = addstring(shstrtab, ".gosymcounts");
536
 
                elfstr[ElfStrGosymtab] = addstring(shstrtab, ".gosymtab");
537
 
                elfstr[ElfStrGopclntab] = addstring(shstrtab, ".gopclntab");
538
534
                elfstr[ElfStrSymtab] = addstring(shstrtab, ".symtab");
539
535
                elfstr[ElfStrStrtab] = addstring(shstrtab, ".strtab");
540
536
                dwarfaddshstrings(shstrtab);
679
675
        seek(cout, sect->vaddr - segtext.vaddr + segtext.fileoff, 0);
680
676
        codeblk(sect->vaddr, sect->len);
681
677
 
682
 
        /* output read-only data in text segment */
683
 
        sect = segtext.sect->next;
684
 
        seek(cout, sect->vaddr - segtext.vaddr + segtext.fileoff, 0);
685
 
        datblk(sect->vaddr, sect->len);
 
678
        /* output read-only data in text segment (rodata, gosymtab and pclntab) */
 
679
        for(sect = sect->next; sect != nil; sect = sect->next) {
 
680
                seek(cout, sect->vaddr - segtext.vaddr + segtext.fileoff, 0);
 
681
                datblk(sect->vaddr, sect->len);
 
682
        }
686
683
 
687
684
        if(debug['v'])
688
685
                Bprint(&bso, "%5.2f datblk\n", cputime());
920
917
                break;
921
918
 
922
919
        Elfput:
923
 
                /* elf 386 */
924
 
                if(HEADTYPE == Htiny)
925
 
                        debug['d'] = 1;
926
 
 
927
920
                eh = getElfEhdr();
928
921
                startva = INITTEXT - HEADR;
929
922
 
1087
1080
                        elfshbits(sect);
1088
1081
 
1089
1082
                if (!debug['s']) {
1090
 
                        sh = newElfShdr(elfstr[ElfStrGosymtab]);
1091
 
                        sh->type = SHT_PROGBITS;
1092
 
                        sh->flags = SHF_ALLOC;
1093
 
                        sh->addralign = 1;
1094
 
                        shsym(sh, lookup("symtab", 0));
1095
 
 
1096
 
                        sh = newElfShdr(elfstr[ElfStrGopclntab]);
1097
 
                        sh->type = SHT_PROGBITS;
1098
 
                        sh->flags = SHF_ALLOC;
1099
 
                        sh->addralign = 1;
1100
 
                        shsym(sh, lookup("pclntab", 0));
1101
 
 
1102
1083
                        sh = newElfShdr(elfstr[ElfStrSymtab]);
1103
1084
                        sh->type = SHT_SYMTAB;
1104
1085
                        sh->off = symo;
1276
1257
                                put(nil, a->asym->name, 'p', a->aoffset, 0, 0, a->gotype);
1277
1258
        }
1278
1259
        if(debug['v'] || debug['n'])
1279
 
                Bprint(&bso, "symsize = %uld\n", symsize);
 
1260
                Bprint(&bso, "symsize = %d\n", symsize);
1280
1261
        Bflush(&bso);
1281
1262
}