> -----Original Message----- > From: Alan Modra [mailto:amo...@gmail.com] > Sent: Saturday, April 26, 2014 11:52 AM > To: Dharmakan Rohit-B30502 > Cc: gcc-patches@gcc.gnu.org; dje....@gmail.com; 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, rohitarul...@freescale.com > 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