lekernel changed the topic of #m-labs to: Mixxeo, Migen, MiSoC & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
mumptai has quit [Ping timeout: 240 seconds]
Mistah_Darcy has joined #m-labs
antgreen has joined #m-labs
Mistah_Darcy has quit [Read error: Connection reset by peer]
Mistah_Darcy has joined #m-labs
wpwrak has quit [Ping timeout: 264 seconds]
playthatbeat has quit [Ping timeout: 252 seconds]
jaeckel has quit [Ping timeout: 245 seconds]
jaeckel has joined #m-labs
mumptai has joined #m-labs
wpwrak has joined #m-labs
playthatbeat has joined #m-labs
xiangfu has quit [Remote host closed the connection]
mumptai has quit [Ping timeout: 245 seconds]
Alarm has joined #m-labs
playthatbeat has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
playthatbeat has joined #m-labs
antgreen has quit [Ping timeout: 248 seconds]
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
antgreen has joined #m-labs
sb0 has joined #m-labs
sb0 has quit [Quit: Leaving]
kristianpaul has quit [Quit: leaving]
kristianpaul has joined #m-labs
sh4rm4 has quit [Remote host closed the connection]
sh4rm4 has joined #m-labs
Alarm has quit [Read error: Connection reset by peer]
mumptai has joined #m-labs
Alarm has joined #m-labs
<stekern> I just discovered a bug in lm32 gcc: http://pastie.org/8568281
<stekern> notice how the (64-bit) double is passed on the stack from main, but read (partially) from r8 in var_arg_f
<stekern> the reason is that the lm32 abi doesn't split arguments between regs and stack, but the generic vararg handler in gcc can't handle that
<stekern> that's at least how I understand it
<larsc> I'm pretty sure that this is not lm32 specific problem
<larsc> so I suspect there is some support for this in gcc
<stekern> I actually stumbled on this when noticing the same bug in another (out of tree) backend that has the same ABI (not splitting args between regs and stack)
<stekern> I think most other archs do split args
<stekern> at least all other I have seen, that's why I wanted to find out how lm32 handles it... but it doesn't
<larsc> I might be mistaken by thing that some require that a 64-bit value must be aligned to even register numbers
<larsc> think
<stekern> I guess it's solveable, but I wonder how easily (writing your own vararg handler is what comes to mind)
<larsc> but we probably already specify somehwere that gcc should not split args between stack and regs when generating the code
<larsc> just looking at the same define in the default stdarg handler should do it I gues
<larsc> s
<stekern> yes, it's specified by not (re)defining TARGET_ARG_PARTIAL_BYTES
<stekern> the default hook is a function that return 0
Alarm has quit [Remote host closed the connection]
azonenberg has quit [Excess Flood]
azonenberg has joined #m-labs
mumptai has quit [Quit: Verlassend]
antgreen has quit [Ping timeout: 264 seconds]
antgreen has joined #m-labs
antgreen has quit [Ping timeout: 246 seconds]