This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
MIPS gas resets rdata and sdata section aligenment (Re: MIPS gasproblem)
- To: binutils at sourceware dot cygnus dot com
- Subject: MIPS gas resets rdata and sdata section aligenment (Re: MIPS gasproblem)
- From: Hiroyuki Machida <machida at sm dot sony dot co dot jp>
- Date: Mon, 24 Apr 2000 14:23:37 +0900
Thank you Ian and Alan.
From: Ian Lance Taylor <ian@zembu.com>
Subject: Re: MIPS gas problem
Date: 21 Apr 2000 08:48:59 -0700
> Date: Fri, 21 Apr 2000 12:30:14 +0900
> From: Hiroyuki Machida <machida@sm.sony.co.jp>
>
> This message is a gcc issue, as you said.
>
> But, my reported plobelm is really binutils issue.
>
> I know. I didn't mean to imply otherwise. Alan Modra's suggested
> patch was the right one.
>
> Ian
I summarize the problem and attach patch. Please install it, if you
can. I don't know what procedure is required to install the patch to
CVS tree.
*Problem Description:
Current tc-mips.c:s_change_sec() always sets '.rdata' and '.sdata'
section alignments to 2**4, even if those contain over 2**4 aligned
objects.
*Solution:
Tc-mips.c:s_change_sec() should use record_alignment(), not
bfd_set_section_alignment(), for preventing reset section
alignments.
*Patch:
2000-04-24 Machida Hiroyuki <machida@sm.sony.co.jp>
tc-mips.c (s_change_sec): Use record_alignment(), not
bfd_set_section_alignment() to preserve section aligenments.
--- tc-mips.c.ORG Mon Apr 24 11:22:39 2000
+++ tc-mips.c Mon Apr 24 11:24:48 2000
@@ -10045,7 +10045,7 @@ s_change_sec (sec)
| SEC_RELOC
| SEC_DATA));
if (strcmp (TARGET_OS, "elf") != 0)
- bfd_set_section_alignment (stdoutput, seg, 4);
+ record_alignment (stdoutput, seg, 4);
}
demand_empty_rest_of_line ();
}
@@ -10067,7 +10067,7 @@ s_change_sec (sec)
SEC_ALLOC | SEC_LOAD | SEC_RELOC
| SEC_DATA);
if (strcmp (TARGET_OS, "elf") != 0)
- bfd_set_section_alignment (stdoutput, seg, 4);
+ record_alignment (stdoutput, seg, 4);
}
demand_empty_rest_of_line ();
break;
---
Hiroyuki Machida
Creative Station SCE Inc./Sony Corp.