jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang | Please consider participating in our mailing lists => https://pony.groups.io/g/pony
vaninwagen has quit [Quit: Connection closed for inactivity]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
jemc has quit [Read error: Connection reset by peer]
<jbk> also random suggestion: if you get to the point where you end up overhauling the name mangling, consider picking a unique prefix
<jbk> e.g. C++ (on x86) uses '_Z', digital mars D I think uses '_d', I think swift uses '_1s'
gokr has quit [Ping timeout: 260 seconds]
<jbk> hmm with rebasing with latest master, the stdlib test binary wants a library to provide __mulodi4, which I thought the implementation provided with the 128-bit int change prevented that
jemc has joined #ponylang
jemc has quit [Read error: Connection reset by peer]
endformationage has quit [Quit: WeeChat 1.9.1]
vaninwagen has joined #ponylang
<vaninwagen> jbk damn, which libc are you using on illumos? I think we need to remove the llvm versions of the safe integer arithmetic ops and write them all in pony for supporting more libc's
<vaninwagen> My pr fixed a missing __muloti4
<vaninwagen> I will create a follow up in the next few days
M-hrjet has quit [Ping timeout: 250 seconds]
Miikka[m] has quit [Ping timeout: 255 seconds]
irx[m] has quit [Ping timeout: 269 seconds]
dtz has quit [Ping timeout: 269 seconds]
srenatus has quit [Ping timeout: 269 seconds]
krig[m] has quit [Ping timeout: 276 seconds]
khan has quit [Quit: khan]
Miikka[m] has joined #ponylang
gokr has joined #ponylang
krig[m] has joined #ponylang
irx[m] has joined #ponylang
M-hrjet has joined #ponylang
srenatus has joined #ponylang
dtz has joined #ponylang
inoas has joined #ponylang
_andre has joined #ponylang
vaninwagen has quit [Quit: Connection closed for inactivity]
jmiven has quit [Quit: co'o]
jmiven has joined #ponylang
<jbk> illumos is like the bsd's in that it's the kernel + base userland, so it has it's own libc
<jbk> and that the stable API is presented via libc
acarrico has quit [Ping timeout: 260 seconds]
acarrico has joined #ponylang
jemc has joined #ponylang
endformationage has joined #ponylang
oldsk00l has joined #ponylang
inoas has quit [Ping timeout: 240 seconds]
inoas has joined #ponylang
inoas has quit [Read error: Connection reset by peer]
inoas has joined #ponylang
aturley has quit [Quit: aturley]
inoas has quit [Quit: inoas]
droman has joined #ponylang
khan has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
malthe_ has quit [Ping timeout: 240 seconds]
malthe has joined #ponylang
jemc has quit [Read error: Connection reset by peer]
jemc has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
droman has quit [Quit: WeeChat 2.1]
vaninwagen has joined #ponylang
<vaninwagen> jbk the PR that was just merged yesterday added tests for using I64.mulc, which is what is using __mulodi4, it seems this uncovered a bug in that the illumos libc does not provide these symbols
<vaninwagen> Question is if the other bsds do so, if not we should have an ifdef there and use a pony rewrite of those methods
jD91mZM2 has joined #ponylang
<jbk> i thought (from looking at the change) that packages/builtin/signed.pony would get around that
<jbk> the bsds do not provide that symbol in their libc -- they do however provide a copy of llvm (clang?)'s compiler-rt
<vaninwagen> jbk could you try to compile: https://gist.github.com/0844512372d0a5746bfd00cb1e092fef on your system with current master?
<jbk> at least looking at the snapshot of freebsd in this opengrok instance
jD91mZM2 has left #ponylang ["WeeChat 2.0"]
<vaninwagen> and if it fails uncomment one line after the other?
<vaninwagen> i don't know if we want to link against compiler-rt, tbh
<vaninwagen> jbk so we can rule out which symbols are missing
<jbk> sure one sec
<vaninwagen> maybe do the same for the unsigned cases
<vaninwagen> U8, U16, U32
<vaninwagen> sure, take your time
<jbk> fails on __mulodi4
<vaninwagen> jbk what if you comment the line with I64?
<jbk> ahh then it succeeds
khan has quit [Quit: khan]
<vaninwagen> ok, good to know
khan has joined #ponylang
<vaninwagen> what if you replace all I64s and such with U64 ?
<jbk> that seems to be ok as well
<jbk> so it's only multiply signed 64-bit values?
<vaninwagen> ok, good, it seems, replacing the llvm runtime function would do the trick for illumos and maybe also other bsds
<jbk> i wonder if i built this llvm wrong
<vaninwagen> is there anyone with a bsd machine and a pony around who might like to test my assumptions?
<jbk> [67] | 134680976| 321|FUNC |LOCL |2 |14 |__udivdi3 -- i think that's the unsigned version, and it's added as a local function, so it's not coming from libc
khan has quit [Client Quit]
<jbk> (you can't statically link libc on illumos, it's always a shared lib)
khan has joined #ponylang
<vaninwagen> do you compile with clang or gcc?
<jbk> gcc
<vaninwagen> There is an old issue from julia lang that sounds somehow familiar: https://github.com/JuliaLang/julia/issues/4905 jbk
jemc has quit [Ping timeout: 250 seconds]
jemc has joined #ponylang
<jbk> it sounds like i should just see about getting it added to libc :)
<vaninwagen> these issues are enough to keep me going and fixing this in pony.
<vaninwagen> and i think it should be in libgcc for gcc or compiler-rt for clang
<vaninwagen> jbk you might want to try on your illumos system with: https://github.com/ponylang/ponyc/pull/2693
<jbk> i'll try it a bit later and let you know -- i've got to run and pickup my cat from the vet :)
_andre has quit [Quit: leaving]
vaninwagen has quit [Quit: WeeChat 2.1]
Huber has joined #ponylang
Huber has quit [Client Quit]
<vassilvk> vaninwagen, jbk, fyi: coincidentally, I was working on some ARM32v7 builds with latest master today and came across the same issue. While building packages/stdlib tests, linking failed with unresolved external __mulodi4.
<vassilvk> Went through the same tests with the code at https://gist.github.com/0844512372d0a5746bfd00cb1e092fef - got the same results as jbk
<vassilvk> I also tried https://github.com/ponylang/ponyc/pull/2693 - I can confirm that it fixes the issue for ARM32v7
<vassilvk> Also, note that the issue was not observed on ARM64v8 at all
aturley has joined #ponylang
<vassilvk> One more thing - the target system where I could see the issue is running ubuntu 16.04
<vassilvk> So I'm guessing this is not limited to bsd
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang