Lines Matching full:record
34 oasys_read_record (bfd *abfd, oasys_record_union_type *record)
36 bfd_size_type amt = sizeof (record->header);
38 if (bfd_bread ((void *) record, amt, abfd) != amt)
41 amt = record->header.length - sizeof (record->header);
44 if (bfd_bread ((void *) ((char *) record + sizeof (record->header)), amt, abfd)
51 oasys_string_length (oasys_record_union_type *record)
53 return record->header.length
54 - ((char *) record->symbol.name - (char *) record);
58 till we get to the first section record.
70 oasys_record_union_type record;
103 if (! oasys_read_record (abfd, &record))
106 switch (record.header.type)
113 int flag = record.header.type == (int) oasys_record_is_local_enum ?
116 size_t length = oasys_string_length (&record);
117 switch (record.symbol.relb & RELOCATION_TYPE_BITS)
128 OASYS_DATA (abfd)->sections[record.symbol.relb &
130 if (record.header.type == (int) oasys_record_is_local_enum)
145 dest = data->symbols + H_GET_16 (abfd, record.symbol.refno);
162 dest->value = H_GET_32 (abfd, record.symbol.value);
165 if (record.symbol.name[0] != '_')
171 memcpy (string_ptr, record.symbol.name, length);
256 oasys_module_table_type record;
286 record.mod_size = H_GET_32 (abfd, record_ext.mod_size);
287 record.file_offset = H_GET_32 (abfd, record_ext.file_offset);
289 record.dep_count = H_GET_32 (abfd, record_ext.dep_count);
290 record.depee_count = H_GET_32 (abfd, record_ext.depee_count);
291 record.sect_count = H_GET_32 (abfd, record_ext.sect_count);
292 record.module_name_size = H_GET_32 (abfd,
295 amt = record.module_name_size;
301 module[i].name[record.module_name_size] = 0;
303 + record.dep_count * 4
304 + record.module_name_size + 1);
307 module[i].size = record.mod_size;
308 module[i].pos = record.file_offset;
342 oasys_record_union_type record;
365 if (! oasys_read_record (abfd, &record))
368 switch (record.header.type)
374 bfd_byte *src = record.data.data;
375 bfd_byte *end_src = ((bfd_byte *) & record) + record.header.length;
381 data->sections[record.data.relb & RELOCATION_SECT_BITS];
401 dst_offset = H_GET_32 (abfd, record.data.addr);
565 oasys_record_union_type record;
566 if (! oasys_read_record (abfd, &record))
568 if ((size_t) record.header.length < (size_t) sizeof (record.header))
571 switch ((oasys_record_enum_type) (record.header.type))
580 oasys->symbol_string_length += 1 + oasys_string_length (&record);
589 if (record.section.header.length != sizeof (record.section))
595 section_number = record.section.relb & RELOCATION_SECT_BITS;
599 switch (record.section.relb & RELOCATION_TYPE_BITS)
609 s->size = H_GET_32 (abfd, record.section.value);
610 s->vma = H_GET_32 (abfd, record.section.vma);
616 oasys->first_data_record = bfd_tell (abfd) - record.header.length;
755 /* Calculate the checksum and write one record. */
760 oasys_record_union_type *record,
767 record->header.length = size;
768 record->header.type = (int) type;
769 record->header.check_sum = 0;
770 record->header.fill = 0;
771 ptr = (unsigned char *) &record->pad[0];
775 record->header.check_sum = 0xff & (-checksum);
776 if (bfd_bwrite ((void *) record, (bfd_size_type) size, abfd) != size)
988 within the same data record. The worst case relocation is a
1054 not a byte image, but a record stream. */