// Align the coff offset to meet with the alignment requirement of section\r
// itself.\r
// \r
- CoffOffset = (CoffOffset + shdr->sh_addralign - 1) & ~(shdr->sh_addralign - 1);\r
+ if ((shdr->sh_addralign != 0) && (shdr->sh_addralign != 1)) {\r
+ CoffOffset = (CoffOffset + shdr->sh_addralign - 1) & ~(shdr->sh_addralign - 1);\r
+ }\r
\r
/* Relocate entry. */
if ((Ehdr->e_entry >= shdr->sh_addr) && \r
// Align the coff offset to meet with the alignment requirement of section\r
// itself.\r
// \r
- CoffOffset = (CoffOffset + shdr->sh_addralign - 1) & ~(shdr->sh_addralign - 1);\r
-
+ if ((shdr->sh_addralign != 0) && (shdr->sh_addralign != 1)) {\r
+ CoffOffset = (CoffOffset + shdr->sh_addralign - 1) & ~(shdr->sh_addralign - 1);\r
+ }
+ \r
CoffSectionsOffset[i] = CoffOffset;
CoffOffset += shdr->sh_size;
}