From: Tristan Gingold Date: Fri, 11 Jun 2010 15:30:38 +0000 (+0000) Subject: 2010-06-11 Tristan Gingold X-Git-Tag: gdb_7_2-branchpoint~259 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f654f403d36137b18c3739e1feb4bb363f67a81c;p=thirdparty%2Fbinutils-gdb.git 2010-06-11 Tristan Gingold * vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute sections to 0. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0722006d11c..85aa8eb1e74 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2010-06-11 Tristan Gingold + + * vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute + sections to 0. + 2010-06-11 Tristan Gingold * vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW. diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index 6591f3f89f5..ff3062a184b 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -1154,12 +1154,18 @@ _bfd_vms_slurp_egsd (bfd *abfd) if (!bfd_set_section_flags (abfd, section, new_flags)) return FALSE; section->alignment_power = egps->align; - align_addr = (1 << section->alignment_power); - if ((base_addr % align_addr) != 0) - base_addr += (align_addr - (base_addr % align_addr)); - section->vma = (bfd_vma)base_addr; - base_addr += section->size; - section->filepos = (unsigned int)-1; + if ((old_flags & EGPS__V_REL) != 0) + { + /* Give a non-overlapping vma to non absolute sections. */ + align_addr = (1 << section->alignment_power); + if ((base_addr % align_addr) != 0) + 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. */ if (PRIV (section_count) >= PRIV (section_max))