Hi Ivan,
Yes, I still try to build famous projects by gollvm but there are still 
some troubles (such as 
https://groups.google.com/d/msg/golang-nuts/2fIk7hbbYJc/zIh3B4tbAAAJ )
The trouble mentioned here is gccgo compatibility of reflect2 (a package 
imported by k8s). The developers of reflect2 give an imperfect solution (
https://github.com/modern-go/reflect2/pull/10) to avoid linkage errors. I 
think this patch may help to build k8s.

On Wednesday, July 29, 2020 at 11:56:11 AM UTC+8, Ivan Serdyuk wrote:
>
> Yuan,
> are you still working on gollvm based port of k8s?
>
> Ivan
>
> On Saturday, July 20, 2019 at 5:32:03 AM UTC+3 Yuan Ting wrote:
>
>> OK, I will check out the reflect2 package and take a look. Thanks a lot 
>> for your direction!
>>
>> Best,
>> Ting
>>
>> On Friday, July 19, 2019 at 10:30:32 PM UTC+8, Ian Lance Taylor wrote:
>>>
>>> On Fri, Jul 19, 2019 at 1:11 AM Yuan Ting <yuan...@ict.ac.cn> wrote: 
>>> > 
>>> >  Sorry to have troubled you again, I found that many famous Go 
>>> projects also import github.com/modern-go/reflect2 , such as kubernetes 
>>> and moby. According to the second paragraph in your explanation, these 
>>> popular projects will also failed in compilation. I think this may be a big 
>>> challenge for gccgo/gollvm's promotion. 
>>> > 
>>> > To solve this compiler-sensitive problem, the way I can come up with 
>>> is replacing all unsafe mechanisms as mentioned above in reflect2 to safe 
>>> or standard mechanisms (and may go against the purpose of reflect2). I'm 
>>> not familiar with runtime, but is it possible to support the same symbol in 
>>> gccgo/gollvm style? 
>>>
>>> Simply supporting runtime.typelinks is not enough.  The reflect 
>>> package is closely tied to the compiler implementation.  The reflect 
>>> package is not identical in the gc library and the GoLLVM library.  If 
>>> people need reflect2 to work with GoLLVM, then the only workable 
>>> option is for the reflect2 authors to write a version of their package 
>>> that uses the gccgo build tag to build a version that works with 
>>> GoLLVM.  Perhaps you could help them with that.  Sorry this isn't very 
>>> helpful.  I don't really understand why people are using the package. 
>>>
>>> Ian 
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/0ae8ba1d-b11f-4d4c-8dc9-f24f75d5fe65o%40googlegroups.com.

Reply via email to