yes, when with -TENV:align_aggregates=8 it is ok.

在 2011年8月25日 下午1:57,Mike Murphy <mmur...@nvidia.com> 写道:
> So Aggregate_Alignment is a settable option (defaults to 16 in some targets). 
>  What if you compile with -TENV:align_aggregates=8, or don't default it to 16?
>
> -----Original Message-----
> From: 朱庆 [mailto:zqing1...@gmail.com]
> Sent: Wednesday, August 24, 2011 10:53 PM
> To: Mike Murphy
> Cc: Sun Chan; open64-devel@lists.sourceforge.net
> Subject: Re: [Open64-devel] Code Review request for bug832[wgen]
>
> The alignment is correct in .B file, but in Adjusted_Alignment there
> are following code to modify the align.  In our case we do not want
> this happen.
>        else {
>                align = MAX(align, Aggregate_Alignment);
>        }
>
> Best wishes
> zhuqing
> 在 2011年8月25日 下午12:28,Mike Murphy <mmur...@nvidia.com> 写道:
>> The alignment is stored in the ty_idx (see TY_align), and then there are 
>> routines like Adjusted_Alignment in stblock that can modify it.  I suspect 
>> the problem here is that the alignment is being put on the object rather 
>> than the type, and then is lost (but should still be possible, because the 
>> TY_align is like qualifiers that can vary from the base type).  Does the 
>> alignment show up properly in the intermediate .B file?
>>
>> -----Original Message-----
>> From: Sun Chan [mailto:sun.c...@gmail.com]
>> Sent: Wednesday, August 24, 2011 7:51 PM
>> To: 朱庆
>> Cc: open64-devel@lists.sourceforge.net
>> Subject: Re: [Open64-devel] Code Review request for bug832[wgen]
>>
>> The reason I asked for the file is that I think there has to be some
>> alignment attribute somewhere. I am sure data alignment has been dealt
>> with in the compiler. That it is due to user, or just language
>> attribute might be irrelevant from compiler point of view.
>>
>> Mike or Murthy,
>> Do you remember where alignment is handled? I only found Alignment
>> field in BLK of the symtab_defs.h
>>
>> Sun
>>
>> 2011/8/25 朱庆 <zqing1...@gmail.com>:
>>> Hi Sun,
>>>
>>> Attached symtab_defs.h.
>>>
>>> Thanks
>>> zhuqing
>>> 2011/8/24 Sun Chan <sun.c...@gmail.com>:
>>>> can you send me the full symtab_defs.h?
>>>> Sun
>>>>
>>>> On Wed, Aug 24, 2011 at 4:56 PM, 朱庆 <zqing1...@gmail.com> wrote:
>>>>> Hi all,
>>>>>
>>>>> Can gatekeeper help review following fix for bug832?
>>>>> https://bugs.open64.net/show_bug.cgi?id=832
>>>>>
>>>>> small case, a.c:
>>>>> struct obs_kernel_param {
>>>>>  const char *str;
>>>>> };
>>>>>
>>>>> const char str1[] = "acpi_parse_apic_instance=";
>>>>> const char str2[] = "acpi_os_name";
>>>>> struct obs_kernel_param var1
>>>>>  __attribute__ ((aligned ((sizeof (long))))) =
>>>>> {str1};
>>>>>
>>>>> struct obs_kernel_param var2
>>>>>  __attribute__ ((aligned ((sizeof (long))))) =
>>>>> {str2};
>>>>>
>>>>> when compile with opencc, nm a.o
>>>>> 0000000000000000 D var1
>>>>> 0000000000000010 D var2
>>>>> compile with gcc, nm a.o
>>>>> 0000000000000000 D var1
>>>>> 0000000000000008 D var2
>>>>> the offset of var1 and var2 are different, the problem with opencc is
>>>>> :fixed align attribute does not work, this may cause some problems
>>>>> when mix link two files with opencc and gcc.
>>>>>
>>>>> The fix is to add a new ST flag to record user_defined_align.
>>>>>
>>>>> Thanks
>>>>> zhuqing
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> EMC VNX: the world's simplest storage, starting under $10K
>>>>> The only unified storage solution that offers unified management
>>>>> Up to 160% more powerful than alternatives and 25% more efficient.
>>>>> Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
>>>>> _______________________________________________
>>>>> Open64-devel mailing list
>>>>> Open64-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/open64-devel
>>>>>
>>>>>
>>>>
>>>
>>
>> ------------------------------------------------------------------------------
>> EMC VNX: the world's simplest storage, starting under $10K
>> The only unified storage solution that offers unified management
>> Up to 160% more powerful than alternatives and 25% more efficient.
>> Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
>> _______________________________________________
>> Open64-devel mailing list
>> Open64-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/open64-devel
>>
>> -----------------------------------------------------------------------------------
>> This email message is for the sole use of the intended recipient(s) and may 
>> contain
>> confidential information.  Any unauthorized review, use, disclosure or 
>> distribution
>> is prohibited.  If you are not the intended recipient, please contact the 
>> sender by
>> reply email and destroy all copies of the original message.
>> -----------------------------------------------------------------------------------
>>
>

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to