Home | History | Annotate | Download | only in bfd

Lines Matching defs:sframe

1 /* .sframe section processing.
25 #include "sframe-api.h"
26 #include "sframe-internal.h"
121 /* For linker generated .sframe sections, we have no relocs. Skip. */
165 /* ATM, for SFrame, the sole usecase is of reading only the 8-byte relocated
174 /* Return true if any of the input BFDs contains at least one .sframe
180 /* Find if any input file has an .sframe section. */
185 asection *sec = bfd_get_section_by_name (pbfd, ".sframe");
192 /* Return true if there is at least one non-empty .sframe section in
199 asection *sframe = bfd_get_section_by_name (info->output_bfd, ".sframe");
201 if (sframe == NULL)
205 for (sframe = sframe->map_head.s; sframe != NULL; sframe = sframe->map_head.s)
209 the SFrame header size. */
210 if (sframe->size > sizeof (sframe_header))
215 /* Try to parse .sframe section SEC, which belongs to ABFD. Store the
235 /* Prior versions of assembler and ld were generating SFrame sections with
242 (_("error in %pB(%pA); unexpected SFrame section type"),
250 /* This file does not contain .sframe information. */
265 /* Read the SFrame stack trace information from abfd. */
296 (_("error in %pB(%pA); no .sframe will be created"),
304 /* This function is called for each input file before the .sframe section
305 is relocated. It marks the SFrame FDE for the discarded functions for
325 .rela.sframe get updated ?. */
330 /* Skip checking for the linker created .sframe sections
353 /* Update the reference to the output .sframe section in the output ELF
361 cfsec = bfd_get_section_by_name (info->output_bfd, ".sframe");
371 /* Merge .sframe section SEC. This is called with the relocated
396 /* Sanity check - handle SFrame sections only. */
407 /* All input bfds are expected to have a valid SFrame section. Even if
408 the SFrame section is empty with only a header, there must be a valid
409 SFrame decoder context by now. The SFrame encoder context, however,
437 tflags, /* SFrame flags. */
454 cfsec = bfd_get_section_by_name (info->output_bfd, ".sframe");
464 /* Check that all .sframe sections being linked have the same
470 (_("error in %pB (%pA); unexpected ABI in SFrame section"),
475 /* Check that all .sframe sections being linked have the same version. */
481 (_("error in %pB (%pA); unexpected SFrame format version %" PRIu8),
486 /* Check that all SFrame sections being linked have the 'data encoding'
494 (_("error in %pB (%pA); unexpected SFrame data encoding"),
538 /* Expected to land here when SFrame stack trace info is
540 sections are expected to have upto two SFrame FDE entries.
544 /* For the first entry, we know the offset of the SFrame FDE's
549 /* For any further SFrame FDEs, the generator has already put
560 /* Get the SFrame FDE function start address after relocation. */
567 /* SFrame FDE function start address is an offset from the
570 field from the start of the output SFrame section. */
603 /* Free the SFrame decoder context. */
609 /* Adjust an address in the .sframe section. Given OFFSET within
610 SEC, this returns the new offset in the merged .sframe section,
671 /* The number of FDEs in the output SFrame section. Note that the output
678 /* Recall that SFrame section merging has distinct requirements: All SFrame
681 is the correct offset in the merged output SFrame section. Note, however,
686 _not_ needed for SFrame sections. Perform the reverse adjustment here so
687 that the default mechanism does not need additional SFrame specific
694 /* Write out the .sframe section. This must be called after
696 .sframe sections. */