2010-06-11 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute sections to 0.
This commit is contained in:
parent
ff150b92be
commit
f654f403d3
2 changed files with 17 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2010-06-11 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
|
* vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute
|
||||||
|
sections to 0.
|
||||||
|
|
||||||
2010-06-11 Tristan Gingold <gingold@adacore.com>
|
2010-06-11 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
* vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.
|
* vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.
|
||||||
|
|
|
@ -1154,12 +1154,18 @@ _bfd_vms_slurp_egsd (bfd *abfd)
|
||||||
if (!bfd_set_section_flags (abfd, section, new_flags))
|
if (!bfd_set_section_flags (abfd, section, new_flags))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
section->alignment_power = egps->align;
|
section->alignment_power = egps->align;
|
||||||
align_addr = (1 << section->alignment_power);
|
if ((old_flags & EGPS__V_REL) != 0)
|
||||||
if ((base_addr % align_addr) != 0)
|
{
|
||||||
base_addr += (align_addr - (base_addr % align_addr));
|
/* Give a non-overlapping vma to non absolute sections. */
|
||||||
section->vma = (bfd_vma)base_addr;
|
align_addr = (1 << section->alignment_power);
|
||||||
base_addr += section->size;
|
if ((base_addr % align_addr) != 0)
|
||||||
section->filepos = (unsigned int)-1;
|
base_addr += (align_addr - (base_addr % align_addr));
|
||||||
|
section->vma = (bfd_vma)base_addr;
|
||||||
|
base_addr += section->size;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
section->vma = 0;
|
||||||
|
section->filepos = 0;
|
||||||
|
|
||||||
/* Append it to the section array. */
|
/* Append it to the section array. */
|
||||||
if (PRIV (section_count) >= PRIV (section_max))
|
if (PRIV (section_count) >= PRIV (section_max))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue