> -----Original Message----- > From: Alan Modra [mailto:[email protected]] > Sent: Saturday, April 26, 2014 11:52 AM > To: Dharmakan Rohit-B30502 > Cc: [email protected]; [email protected]; Wienskoski Edmar-RA8797 > Subject: Re: [Patch, PR 60158] Generate .fixup sections for > .data.rel.ro.local entries. > > On Fri, Apr 25, 2014 at 02:57:38PM +0000, [email protected] > wrote: > > Source file: gcc-4.8.2/gcc/varasm.c > > @@ -7120,7 +7120,7 @@ > > if (CONSTANT_POOL_ADDRESS_P (symbol)) > > { > > desc = SYMBOL_REF_CONSTANT (symbol); > > output_constant_pool_1 (desc, 1); > ------------- (A) > > offset += GET_MODE_SIZE (desc->mode); > > I think the reason 1 is passed here for align is that with -fsection- > anchors, in output_object_block we've already laid out everything in the > block, assigning offsets from the start of the block. Aligning shouldn't > be necessary, because we've already done that.. OTOH, it shouldn't hurt > to align again. > Thanks. I have tested for both the cases on e500v2, e500mc, e5500, ppc64 (GCC v4.8.2 branch) with no regressions.
Patch1 [gcc.fix_pr60158_fixup_table-fsf]: Pass actual alignment value to
output_constant_pool_2.
Patch2 [gcc.fix_pr60158_fixup_table-fsf-2]: Use the alignment data available in
the first argument (constant_descriptor_rtx) of output_constant_pool_1.
(Note: this generates ".align" directive twice).
Is it ok to commit? Any comments?
Regards,
Rohit
gcc.fix_pr60158_fixup_table-fsf
Description: gcc.fix_pr60158_fixup_table-fsf
gcc.fix_pr60158_fixup_table-fsf-2
Description: gcc.fix_pr60158_fixup_table-fsf-2
