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

Attachment: bug832.patch
Description: Binary data

------------------------------------------------------------------------------
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