Lines Matching refs:sec

338 #define mmo_section_data(sec) \  argument
339 ((struct mmo_section_data_struct *) (sec)->used_by_bfd)
354 asection *sec; member
447 asection *sec = bfd_get_section_by_name (abfd, secname); in mmo_make_section() local
449 if (sec == NULL) in mmo_make_section()
461 sec = bfd_make_section (abfd, newsecname); in mmo_make_section()
464 return sec; in mmo_make_section()
604 mmo_find_sec_w_addr (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *p) in mmo_find_sec_w_addr() argument
607 bfd_vma vma = bfd_get_section_vma (abfd, sec); in mmo_find_sec_w_addr()
610 if ((bfd_get_section_flags (abfd, sec) & (SEC_LOAD | SEC_ALLOC)) in mmo_find_sec_w_addr()
614 if (infop->addr >= vma && infop->addr < vma + sec->size) in mmo_find_sec_w_addr()
615 infop->sec = sec; in mmo_find_sec_w_addr()
619 mmo_find_sec_w_addr_grow (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *p) in mmo_find_sec_w_addr_grow() argument
622 bfd_vma vma = bfd_get_section_vma (abfd, sec); in mmo_find_sec_w_addr_grow()
625 if ((bfd_get_section_flags (abfd, sec) & (SEC_LOAD | SEC_ALLOC)) in mmo_find_sec_w_addr_grow()
630 infop->sec = sec; in mmo_find_sec_w_addr_grow()
641 asection *sec = NULL; in mmo_decide_section() local
646 info.sec = NULL; in mmo_decide_section()
651 if (info.sec != NULL) in mmo_decide_section()
652 return info.sec; in mmo_decide_section()
660 sec = bfd_make_section_old_way (abfd, MMO_TEXT_SECTION_NAME); in mmo_decide_section()
662 if (sec == NULL) in mmo_decide_section()
665 if (! sec->user_set_vma) in mmo_decide_section()
666 bfd_set_section_vma (abfd, sec, vma); in mmo_decide_section()
667 if (! bfd_set_section_flags (abfd, sec, in mmo_decide_section()
668 bfd_get_section_flags (abfd, sec) in mmo_decide_section()
674 sec = bfd_make_section_old_way (abfd, MMO_DATA_SECTION_NAME); in mmo_decide_section()
676 if (sec == NULL) in mmo_decide_section()
679 if (! sec->user_set_vma) in mmo_decide_section()
680 bfd_set_section_vma (abfd, sec, vma); in mmo_decide_section()
681 if (! bfd_set_section_flags (abfd, sec, in mmo_decide_section()
682 bfd_get_section_flags (abfd, sec) in mmo_decide_section()
689 if (info.sec != NULL) in mmo_decide_section()
690 return info.sec; in mmo_decide_section()
694 sec = mmo_make_section (abfd, sec_name); in mmo_decide_section()
695 if (! sec->user_set_vma) in mmo_decide_section()
696 bfd_set_section_vma (abfd, sec, vma); in mmo_decide_section()
698 if (! bfd_set_section_flags (abfd, sec, in mmo_decide_section()
699 bfd_get_section_flags (abfd, sec) in mmo_decide_section()
702 return sec; in mmo_decide_section()
708 mmo_xore_64 (asection *sec, bfd_vma vma, bfd_vma value) in mmo_xore_64() argument
710 bfd_byte *loc = mmo_get_loc (sec, vma, 8); in mmo_xore_64()
711 bfd_vma prev = bfd_get_64 (sec->owner, loc); in mmo_xore_64()
714 bfd_put_64 (sec->owner, value, loc); in mmo_xore_64()
720 mmo_xore_32 (asection *sec, bfd_vma vma, unsigned int value) in mmo_xore_32() argument
722 bfd_byte *loc = mmo_get_loc (sec, vma, 4); in mmo_xore_32()
723 unsigned int prev = bfd_get_32 (sec->owner, loc); in mmo_xore_32()
726 bfd_put_32 (sec->owner, value, loc); in mmo_xore_32()
732 mmo_xore_16 (asection *sec, bfd_vma vma, unsigned int value) in mmo_xore_16() argument
734 bfd_byte *loc = mmo_get_loc (sec, vma, 2); in mmo_xore_16()
735 unsigned int prev = bfd_get_16 (sec->owner, loc); in mmo_xore_16()
738 bfd_put_16 (sec->owner, value, loc); in mmo_xore_16()
932 asection *sec; in mmo_get_generic_spec_data_section() local
939 sec = mmo_make_section (abfd, secname); in mmo_get_generic_spec_data_section()
941 return sec; in mmo_get_generic_spec_data_section()
951 asection *sec; in mmo_get_spec_section() local
1057 sec = mmo_make_section (abfd, secname); in mmo_get_spec_section()
1059 if (sec == NULL) in mmo_get_spec_section()
1075 if (! bfd_set_section_flags (abfd, sec, in mmo_get_spec_section()
1077 | bfd_get_section_flags (abfd, sec) in mmo_get_spec_section()
1079 || ! bfd_set_section_size (abfd, sec, sec->size + section_length) in mmo_get_spec_section()
1081 || (! sec->user_set_vma in mmo_get_spec_section()
1082 && ! bfd_set_section_vma (abfd, sec, section_vma))) in mmo_get_spec_section()
1090 if (mmo_section_data (sec)->tail != NULL) in mmo_get_spec_section()
1091 mmo_section_data (sec)->tail->next = loc; in mmo_get_spec_section()
1093 mmo_section_data (sec)->head = loc; in mmo_get_spec_section()
1094 mmo_section_data (sec)->tail = loc; in mmo_get_spec_section()
1097 return sec; in mmo_get_spec_section()
1415 mmo_get_loc (asection *sec, bfd_vma vma, int size) in mmo_get_loc() argument
1418 struct mmo_section_data_struct *sdatap = mmo_section_data (sec); in mmo_get_loc()
1444 if (vma + size > sec->vma + sec->size) in mmo_get_loc()
1445 sec->size += (vma + size) - (sec->vma + sec->size); in mmo_get_loc()
1466 bfd_zalloc (sec->owner, sizeof (mmo_data_list_type) + allocated_size); in mmo_get_loc()
1498 if (! bfd_set_section_flags (sec->owner, sec, in mmo_get_loc()
1499 bfd_get_section_flags (sec->owner, sec) in mmo_get_loc()
1507 if (vma + size > sec->vma + sec->size) in mmo_get_loc()
1508 sec->size += (vma + size) - (sec->vma + sec->size); in mmo_get_loc()
1515 mmo_map_set_sizes (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, in mmo_map_set_sizes() argument
1518 sec->lma = sec->vma; in mmo_map_set_sizes()
1530 asection *sec = bfd_make_section_old_way (abfd, MMO_TEXT_SECTION_NAME); in mmo_scan() local
1557 sec = non_spec_sec; in mmo_scan()
1584 mmo_xore_32 (sec, vma, bfd_get_32 (abfd, buf)); in mmo_scan()
1618 sec = mmo_decide_section (abfd, vma); in mmo_scan()
1619 if (sec == NULL) in mmo_scan()
1627 sec = mmo_decide_section (abfd, vma); in mmo_scan()
1628 if (sec == NULL) in mmo_scan()
1807 non_spec_sec = sec; in mmo_scan()
1809 sec = mmo_get_spec_section (abfd, y * 256 + z); in mmo_scan()
1810 if (sec == NULL) in mmo_scan()
1813 vma = sec->vma; in mmo_scan()
1958 mmo_xore_32 (sec, vma & ~3, bfd_get_32 (abfd, buf)); in mmo_scan()
1983 sec = bfd_get_section_by_name (abfd, MMO_TEXT_SECTION_NAME); in mmo_scan()
1984 if (sec != NULL in mmo_scan()
1985 && (bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS) in mmo_scan()
1986 && ! bfd_set_section_flags (abfd, sec, in mmo_scan()
1987 bfd_get_section_flags (abfd, sec) in mmo_scan()
1991 sec = bfd_get_section_by_name (abfd, MMO_DATA_SECTION_NAME); in mmo_scan()
1992 if (sec != NULL in mmo_scan()
1993 && (bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS) in mmo_scan()
1994 && ! bfd_set_section_flags (abfd, sec, in mmo_scan()
1995 bfd_get_section_flags (abfd, sec) in mmo_scan()
2030 asection *sec, in mmo_get_section_contents() argument
2047 loc = mmo_get_loc (sec, sec->vma + offset, chunk_size); in mmo_get_section_contents()
2260 mmo_internal_write_post (bfd *abfd, int z, asection *sec) in mmo_internal_write_post() argument
2268 bfd_byte *data = mmo_get_loc (sec, i * 8, 8); in mmo_internal_write_post()
2343 mmo_has_leading_or_trailing_zero_tetra_p (bfd *abfd, asection *sec) in mmo_has_leading_or_trailing_zero_tetra_p() argument
2345 bfd_vma secaddr = bfd_get_section_vma (abfd, sec); in mmo_has_leading_or_trailing_zero_tetra_p()
2347 if (sec->size < 4) in mmo_has_leading_or_trailing_zero_tetra_p()
2350 if (bfd_get_32 (abfd, mmo_get_loc (sec, secaddr, 4)) == 0 in mmo_has_leading_or_trailing_zero_tetra_p()
2352 mmo_get_loc (sec, secaddr + sec->size - 4, 4)) == 0) in mmo_has_leading_or_trailing_zero_tetra_p()
2361 mmo_internal_write_section (bfd *abfd, asection *sec) in mmo_internal_write_section() argument
2375 if (strcmp (sec->name, MMO_TEXT_SECTION_NAME) == 0) in mmo_internal_write_section()
2377 bfd_vma secaddr = bfd_get_section_vma (abfd, sec); in mmo_internal_write_section()
2383 if (sec->size != 0 in mmo_internal_write_section()
2384 && (secaddr + sec->size >= (bfd_vma) 1 << 56 in mmo_internal_write_section()
2386 || (sec->size & 3) != 0 in mmo_internal_write_section()
2387 || mmo_has_leading_or_trailing_zero_tetra_p (abfd, sec))) in mmo_internal_write_section()
2389 if (!mmo_write_section_description (abfd, sec)) in mmo_internal_write_section()
2394 return mmo_write_loc_chunk_list (abfd, mmo_section_data (sec)->head); in mmo_internal_write_section()
2396 else if (strcmp (sec->name, MMO_DATA_SECTION_NAME) == 0) in mmo_internal_write_section()
2398 bfd_vma secaddr = bfd_get_section_vma (abfd, sec); in mmo_internal_write_section()
2401 if (sec->size != 0 in mmo_internal_write_section()
2403 || secaddr + sec->size >= (bfd_vma) 0x21 << 56 in mmo_internal_write_section()
2405 || (sec->size & 3) != 0 in mmo_internal_write_section()
2406 || mmo_has_leading_or_trailing_zero_tetra_p (abfd, sec))) in mmo_internal_write_section()
2408 if (!mmo_write_section_description (abfd, sec)) in mmo_internal_write_section()
2412 return mmo_write_loc_chunk_list (abfd, mmo_section_data (sec)->head); in mmo_internal_write_section()
2414 else if (strcmp (sec->name, MMIX_REG_CONTENTS_SECTION_NAME) == 0) in mmo_internal_write_section()
2422 else if (strncmp (sec->name, MMIX_OTHER_SPEC_SECTION_PREFIX, in mmo_internal_write_section()
2425 int n = atoi (sec->name + strlen (MMIX_OTHER_SPEC_SECTION_PREFIX)); in mmo_internal_write_section()
2428 && mmo_write_chunk_list (abfd, mmo_section_data (sec)->head)); in mmo_internal_write_section()
2432 else if ((bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS) != 0 in mmo_internal_write_section()
2433 && sec->size != 0) in mmo_internal_write_section()
2435 if (!mmo_write_section_description (abfd, sec)) in mmo_internal_write_section()
2440 if (bfd_get_section_flags (abfd, sec) & SEC_LOAD) in mmo_internal_write_section()
2443 mmo_section_data (sec)->head)); in mmo_internal_write_section()
2445 && mmo_write_chunk_list (abfd, mmo_section_data (sec)->head)); in mmo_internal_write_section()
2455 mmo_write_section_description (bfd *abfd, asection *sec) in mmo_write_section_description() argument
2551 mmo_write_tetra (abfd, (strlen (sec->name) + 3) / 4); in mmo_write_section_description()
2552 mmo_write_chunk (abfd, (bfd_byte *) sec->name, strlen (sec->name)); in mmo_write_section_description()
2560 (bfd_get_section_flags (abfd, sec))); in mmo_write_section_description()
2561 mmo_write_octa (abfd, sec->size); in mmo_write_section_description()
2562 mmo_write_octa (abfd, bfd_get_section_vma (abfd, sec)); in mmo_write_section_description()
2569 mmo_set_section_contents (bfd *abfd ATTRIBUTE_UNUSED, sec_ptr sec, in mmo_set_section_contents() argument
2584 loc = mmo_get_loc (sec, sec->vma + offset, chunk_size); in mmo_set_section_contents()
3059 mmo_write_section_unless_reg_contents (bfd *abfd, asection *sec, void *p) in mmo_write_section_unless_reg_contents() argument
3066 if (strcmp (sec->name, MMIX_REG_CONTENTS_SECTION_NAME) == 0) in mmo_write_section_unless_reg_contents()
3068 infop->reg_section = sec; in mmo_write_section_unless_reg_contents()
3073 if (strcmp (sec->name, MMIX_REG_SECTION_NAME) == 0) in mmo_write_section_unless_reg_contents()
3075 if (bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS) in mmo_write_section_unless_reg_contents()
3083 bfd_get_filename (abfd), sec->name); in mmo_write_section_unless_reg_contents()
3092 infop->retval = mmo_internal_write_section (abfd, sec); in mmo_write_section_unless_reg_contents()
3118 asection *sec = wsecinfo.reg_section; in mmo_write_object_contents() local
3119 unsigned int z = (unsigned int) (sec->vma / 8); in mmo_write_object_contents()
3124 if (z < 32 || z >= 255 || (sec->vma & 7) != 0 in mmo_write_object_contents()
3125 || sec->vma != 256 * 8 - sec->size - 8) in mmo_write_object_contents()
3129 if (sec->size == 0) in mmo_write_object_contents()
3134 else if (sec->vma > (256 - 32) * 8) in mmo_write_object_contents()
3140 (long) sec->size); in mmo_write_object_contents()
3146 (long) sec->size, in mmo_write_object_contents()
3147 (unsigned long) (sec->vma >> 32), (unsigned long) (sec->vma)); in mmo_write_object_contents()
3152 if (! mmo_internal_write_post (abfd, z, sec)) in mmo_write_object_contents()
3167 asection *sec ATTRIBUTE_UNUSED) in mmo_get_reloc_upper_bound()