Since C99 VLA has been supported, the similar schema can be used to support the VLS.
2011/12/31 Gang Yu <yugang...@gmail.com>: > Thanks. we also wish could get input from the original wgen authors, it is > leaving an unsupported feature for VLA and then compiler asserts. In order > to avoid duplication of effort, we wish learn from the seniors and then we > can go ahead or make workaround. > > > Regards > Gang > > > > On Sat, Dec 31, 2011 at 10:42 AM, Sun Chan <sun.c...@gmail.com> wrote: >> >> Let me try to understand. You are asking for opinions on whether ope64 >> should ignore the VLA problem until there is further documentation >> and/or evidence of more VLA usage? Until then, workaround that by >> changing kernel source? >> Sun >> >> On Sat, Dec 31, 2011 at 10:36 AM, Gang Yu <yugang...@gmail.com> wrote: >> > Hi, list: >> > >> > We have some efforts on building and tuning linux kernel on open64, >> > we >> > have fixed several bugs and now we have only two building issues and >> > several running issues at x86_64 target, O2 level. >> > >> > linux 2.6.32 as an example, the two building issues are: >> > >> > A). bug787, Rao Shivarama has submitted a patch, but due to the >> > regression >> > filed as bug882, the patch is backed out. This is still a pending issue. >> > My >> > personally investigation shows Rao's approach is on the right track, the >> > bug882 shows the fix triggers the SSA version verification issues which >> > are >> > already known in open64, filed as bug889/891/892. We will continue work >> > on >> > it. >> > >> > B). the Variable Length Array in Structs (VLAS), this is a common issue >> > for >> > non-gnu compilers. >> > >> > clang documents the issue below: >> > >> > Intentionally unsupported GCC extensions >> > >> > clang does not support the gcc extension that allows variable-length >> > arrays >> > in structures. This is for a few reasons: one, it is tricky to >> > implement, >> > two, the extension is completely undocumented, and three, the extension >> > appears to be rarely used. Note that clang does support flexible array >> > members (arrays with a zero or unspecified size at the end of a >> > structure). >> > >> > >> > I review the failure case of kernel build, the VLAS are not the flexible >> > array members(case like this : struct A { int a; int b; char ctx[]} is >> > called Flexible array menbers. It is a newly introduced feature c99 or >> > later, open64 supports it well.) >> > >> > VLAS does not appear in linux kernel source code frequently: >> > >> > lib/libcrc32c.c >> > u32 crc32c(u32 crc, const void *address, unsigned int length) >> > 43{ >> > 44 struct { >> > 45 struct shash_desc shash; >> > 46 char ctx[crypto_shash_descsize(tfm)]; >> > 47 } desc; >> > crypto/testmgr.c >> > struct { >> > 1432 struct shash_desc shash; >> > 1433 char ctx[crypto_shash_descsize(tfm)]; >> > 1434 } sdesc; >> > crypo/hmac.c >> > struct { >> > 1432 struct shash_desc shash; >> > 1433 char ctx[crypto_shash_descsize(tfm) >> > ]; >> > 1434 } sdesc; >> > >> > >> > I just speculate that clang will support kernel build by flexible >> > array >> > members. It is not the case, >> > >> > http://llvm.org/bugs/show_bug.cgi?id=4071 >> > >> > and people claim that they build up kernel with clang, but it is not >> > fully >> > functional. >> > >> > http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html >> > >> > as this guy pointed out, >> > >> > * SELinux, Posix ACLs, IPSec, eCrypt, anything that uses the crypto >> > API - >> > None >> > of these will compile, due to either an ICE or variable-length >> > arrays in >> > structures (don't remember which, it's in my notes somewhere). If >> > it's >> > variable-length arrays or another intentionally unsupported >> > GNUtension, >> > I'm >> > hoping it's just used in some isolated implementation detail (or >> > details), >> > and not a fundamental part of the crypto API (honestly just haven't >> > had >> > a >> > chance to dive into the crypto source yet). I'm really hoping it's >> > an >> > issue >> > in Clang, though, as it's easier for me to hack Clang and I'm trying >> > to >> > avoid kernel patches as much as possible. >> > >> > >> > We meet the problem and post it out, we wish we could get input from >> > community and go on the kernel building/tuning work to broaden the >> > open64's >> > application and improve the code quality. >> > >> > Thanks. >> > >> > Regards >> > Gang >> > >> > >> > ------------------------------------------------------------------------------ >> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a >> > complex >> > infrastructure or vast IT resources to deliver seamless, secure access >> > to >> > virtual desktops. With this all-in-one solution, easily deploy virtual >> > desktops for less than the cost of PCs and save 60% on VDI >> > infrastructure >> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >> > _______________________________________________ >> > Open64-devel mailing list >> > Open64-devel@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/open64-devel >> > > > > > ------------------------------------------------------------------------------ > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex > infrastructure or vast IT resources to deliver seamless, secure access to > virtual desktops. With this all-in-one solution, easily deploy virtual > desktops for less than the cost of PCs and save 60% on VDI infrastructure > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox > _______________________________________________ > Open64-devel mailing list > Open64-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/open64-devel > -- Regards, Lai Jian-Xin ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel