Home | History | Annotate | Download | only in bfd

Lines Matching refs:ui

102 pex64_get_unwind_info (bfd *abfd, struct pex64_unwind_info *ui, void *data)
108 memset (ui, 0, sizeof (struct pex64_unwind_info));
109 ui->Version = PEX64_UWI_VERSION (ex_ui->Version_Flags);
110 ui->Flags = PEX64_UWI_FLAGS (ex_ui->Version_Flags);
111 ui->SizeOfPrologue = (bfd_vma) ex_ui->SizeOfPrologue;
112 ui->CountOfCodes = (bfd_vma) ex_ui->CountOfCodes;
113 ui->FrameRegister = PEX64_UWI_FRAMEREG (ex_ui->FrameRegisterOffset);
114 ui->FrameOffset = PEX64_UWI_FRAMEOFF (ex_ui->FrameRegisterOffset);
115 ui->sizeofUnwindCodes = PEX64_UWI_SIZEOF_UWCODE_ARRAY (ui->CountOfCodes);
116 ui->SizeOfBlock = ui->sizeofUnwindCodes + 4;
117 ui->rawUnwindCodes = &ex_dta[4];
119 ex_dta += ui->SizeOfBlock;
120 switch (ui->Flags)
123 ui->rva_BeginAddress = bfd_get_32 (abfd, ex_dta + 0);
124 ui->rva_EndAddress = bfd_get_32 (abfd, ex_dta + 4);
125 ui->rva_UnwindData = bfd_get_32 (abfd, ex_dta + 8);
126 ui->SizeOfBlock += 12;
131 ui->rva_ExceptionHandler = bfd_get_32 (abfd, ex_dta);
132 ui->SizeOfBlock += 4;
143 struct pex64_unwind_info *ui,
150 if (ui->CountOfCodes == 0 || ui->rawUnwindCodes == NULL)
161 if (ui->Version == 2
162 && PEX64_UNWCODE_CODE (ui->rawUnwindCodes[1]) == UWOP_EPILOG)
170 ui->rawUnwindCodes[0]);
171 if (PEX64_UNWCODE_INFO (ui->rawUnwindCodes[1]))
172 fprintf (file, " 0x%x", func_size - ui->rawUnwindCodes[0]);
174 for (; i < ui->CountOfCodes; i++)
176 const bfd_byte *dta = ui->rawUnwindCodes + 2 * i;
190 for (; i < ui->CountOfCodes; i++)
192 const bfd_byte *dta = ui->rawUnwindCodes + 2 * i;
221 pex_regs[ui->FrameRegister],
222 (unsigned int) ui->FrameOffset * 16, info);
223 unexpected = ui->FrameRegister == 0;
239 if (ui->Version == 1)
246 else if (ui->Version == 2)
323 struct pex64_unwind_info ui;
348 pex64_get_unwind_info (abfd, &ui, &xdata[addr]);
350 if (ui.Version != 1 && ui.Version != 2)
354 (unsigned int) ui.Version);
368 fprintf (file, "\tVersion: %d, Flags: ", ui.Version);
369 switch (ui.Flags)
388 fprintf (file, "unknown flags value 0x%x", (unsigned int) ui.Flags);
392 fprintf (file, "\tNbr codes: %u, ", (unsigned int) ui.CountOfCodes);
394 (unsigned int) ui.SizeOfPrologue, (unsigned int) ui.FrameOffset);
396 ui.FrameRegister == 0 ? "none"
397 : pex_regs[(unsigned int) ui.FrameRegister]);
400 if (ui.CountOfCodes * 2 + ui.rawUnwindCodes > xdata + xdata_section->size)
401 fprintf (file, _("Too many unwind codes (%ld)\n"), (long) ui.CountOfCodes);
403 pex64_xdata_print_uwd_codes (file, abfd, &ui, rf);
405 switch (ui.Flags)
411 fprintf_vma (file, (ui.rva_ExceptionHandler
417 fprintf_vma (file, ui.rva_BeginAddress);
419 fprintf_vma (file, ui.rva_EndAddress);
421 fprintf_vma (file, ui.rva_UnwindData);
427 addr += ui.SizeOfBlock;