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