Home | History | Annotate | Download | only in compiler

Lines Matching full:section_headers

469   llvm::ELF::Elf32_Shdr section_headers[SH_NUM];
470 memset(&section_headers, 0, sizeof(section_headers));
472 section_headers[SH_NULL].sh_name = 0;
473 section_headers[SH_NULL].sh_type = llvm::ELF::SHT_NULL;
474 section_headers[SH_NULL].sh_flags = 0;
475 section_headers[SH_NULL].sh_addr = 0;
476 section_headers[SH_NULL].sh_offset = 0;
477 section_headers[SH_NULL].sh_size = 0;
478 section_headers[SH_NULL].sh_link = 0;
479 section_headers[SH_NULL].sh_info = 0;
480 section_headers[SH_NULL].sh_addralign = 0;
481 section_headers[SH_NULL].sh_entsize = 0;
483 section_headers[SH_DYNSYM].sh_name = shstrtab_dynsym_offset;
484 section_headers[SH_DYNSYM].sh_type = llvm::ELF::SHT_DYNSYM;
485 section_headers[SH_DYNSYM].sh_flags = llvm::ELF::SHF_ALLOC;
486 section_headers[SH_DYNSYM].sh_addr = dynsym_offset;
487 section_headers[SH_DYNSYM].sh_offset = dynsym_offset;
488 section_headers[SH_DYNSYM].sh_size = dynsym_size;
489 section_headers[SH_DYNSYM].sh_link = SH_DYNSTR;
490 section_headers[SH_DYNSYM].sh_info = 1; // 1 because we have not STB_LOCAL symbols
491 section_headers[SH_DYNSYM].sh_addralign = dynsym_alignment;
492 section_headers[SH_DYNSYM].sh_entsize = sizeof(llvm::ELF::Elf32_Sym);
494 section_headers[SH_DYNSTR].sh_name = shstrtab_dynstr_offset;
495 section_headers[SH_DYNSTR].sh_type = llvm::ELF::SHT_STRTAB;
496 section_headers[SH_DYNSTR].sh_flags = llvm::ELF::SHF_ALLOC;
497 section_headers[SH_DYNSTR].sh_addr = dynstr_offset;
498 section_headers[SH_DYNSTR].sh_offset = dynstr_offset;
499 section_headers[SH_DYNSTR].sh_size = dynstr_size;
500 section_headers[SH_DYNSTR].sh_link = 0;
501 section_headers[SH_DYNSTR].sh_info = 0;
502 section_headers[SH_DYNSTR].sh_addralign = dynstr_alignment;
503 section_headers[SH_DYNSTR].sh_entsize = 0;
505 section_headers[SH_HASH].sh_name = shstrtab_hash_offset;
506 section_headers[SH_HASH].sh_type = llvm::ELF::SHT_HASH;
507 section_headers[SH_HASH].sh_flags = llvm::ELF::SHF_ALLOC;
508 section_headers[SH_HASH].sh_addr = hash_offset;
509 section_headers[SH_HASH].sh_offset = hash_offset;
510 section_headers[SH_HASH].sh_size = hash_size;
511 section_headers[SH_HASH].sh_link = SH_DYNSYM;
512 section_headers[SH_HASH].sh_info = 0;
513 section_headers[SH_HASH].sh_addralign = hash_alignment;
514 section_headers[SH_HASH].sh_entsize = sizeof(llvm::ELF::Elf32_Word); // This is Elf32_Word even on 64-bit
516 section_headers[SH_RODATA].sh_name = shstrtab_rodata_offset;
517 section_headers[SH_RODATA].sh_type = llvm::ELF::SHT_PROGBITS;
518 section_headers[SH_RODATA].sh_flags = llvm::ELF::SHF_ALLOC;
519 section_headers[SH_RODATA].sh_addr = oat_data_offset;
520 section_headers[SH_RODATA].sh_offset = oat_data_offset;
521 section_headers[SH_RODATA].sh_size = oat_data_size;
522 section_headers[SH_RODATA].sh_link = 0;
523 section_headers[SH_RODATA].sh_info = 0;
524 section_headers[SH_RODATA].sh_addralign = oat_data_alignment;
525 section_headers[SH_RODATA].sh_entsize = 0;
527 section_headers[SH_TEXT].sh_name = shstrtab_text_offset;
528 section_headers[SH_TEXT].sh_type = llvm::ELF::SHT_PROGBITS;
529 section_headers[SH_TEXT].sh_flags = llvm::ELF::SHF_ALLOC | llvm::ELF::SHF_EXECINSTR;
530 section_headers[SH_TEXT].sh_addr = oat_exec_offset;
531 section_headers[SH_TEXT].sh_offset = oat_exec_offset;
532 section_headers[SH_TEXT].sh_size = oat_exec_size;
533 section_headers[SH_TEXT].sh_link = 0;
534 section_headers[SH_TEXT].sh_info = 0;
535 section_headers[SH_TEXT].sh_addralign = oat_exec_alignment;
536 section_headers[SH_TEXT].sh_entsize = 0;
539 section_headers[SH_DYNAMIC].sh_name = shstrtab_dynamic_offset;
540 section_headers[SH_DYNAMIC].sh_type = llvm::ELF::SHT_DYNAMIC;
541 section_headers[SH_DYNAMIC].sh_flags = llvm::ELF::SHF_WRITE | llvm::ELF::SHF_ALLOC;
542 section_headers[SH_DYNAMIC].sh_addr = dynamic_offset;
543 section_headers[SH_DYNAMIC].sh_offset = dynamic_offset;
544 section_headers[SH_DYNAMIC].sh_size = dynamic_size;
545 section_headers[SH_DYNAMIC].sh_link = SH_DYNSTR;
546 section_headers[SH_DYNAMIC].sh_info = 0;
547 section_headers[SH_DYNAMIC].sh_addralign = dynamic_alignment;
548 section_headers[SH_DYNAMIC].sh_entsize = sizeof(llvm::ELF::Elf32_Dyn);
550 section_headers[SH_SHSTRTAB].sh_name = shstrtab_shstrtab_offset;
551 section_headers[SH_SHSTRTAB].sh_type = llvm::ELF::SHT_STRTAB;
552 section_headers[SH_SHSTRTAB].sh_flags = 0;
553 section_headers[SH_SHSTRTAB].sh_addr = shstrtab_offset;
554 section_headers[SH_SHSTRTAB].sh_offset = shstrtab_offset;
555 section_headers[SH_SHSTRTAB].sh_size = shstrtab_size;
556 section_headers[SH_SHSTRTAB].sh_link = 0;
557 section_headers[SH_SHSTRTAB].sh_info = 0;
558 section_headers[SH_SHSTRTAB].sh_addralign = shstrtab_alignment;
559 section_headers[SH_SHSTRTAB].sh_entsize = 0;
660 if (!elf_file_->WriteFully(section_headers, sizeof(section_headers))) {