diff options
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r-- | bfd/coffcode.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 6dc48e5..d76882a 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -959,6 +959,34 @@ coff_set_alignment_hook (abfd, section, scnhdr) ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_4BYTES, 2) ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_2BYTES, 1) ELIFALIGN_SET (hdr->s_flags, IMAGE_SCN_ALIGN_1BYTES, 0) + +#ifdef POWERPC_LE_PE + if (strcmp (section->name, ".idata$2") == 0) + { + fprintf(stderr, "Setting alignment for .idata$4\n"); + section->alignment_power = 0; + } + else if (strcmp (section->name, ".idata$3") == 0) + { + fprintf(stderr, "Setting alignment for .idata$4\n"); + section->alignment_power = 0; + } + else if (strcmp (section->name, ".idata$4") == 0) + { + fprintf(stderr, "Setting alignment for .idata$4\n"); + section->alignment_power = 2; + } + else if (strcmp (section->name, ".idata$5") == 0) + { + fprintf(stderr, "Setting alignment for .idata$5\n"); + section->alignment_power = 2; + } + else if (strcmp (section->name, ".idata$6") == 0) + { + fprintf(stderr, "Setting alignment for .idata$6\n"); + section->alignment_power = 1; + } +#endif } #undef ALIGN_SET #undef ELIFALIGN_SET |