aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h28
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