How would you classify "pack" data?
Sun

2011/8/25 Jian-Xin Lai <laij...@gmail.com>:
> The reason we introduce the "user align" is to separate this kind of case
> from the generic aggregate. So that we can do the two things well:
> If user specifies an alignment, we follow the size. Otherwise, the compiler
> can decide what's the proper alignment.
>
> 在 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
>
>
>
> --
> Regards,
> Lai Jian-Xin
>
> ------------------------------------------------------------------------------
> 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

Reply via email to