sorear changed the topic of #riscv to: RISC-V instruction set architecture | https://riscv.org | Logs: https://libera.irclog.whitequark.org/riscv | Matrix: #riscv:catircservices.org
<nathanchance> palmer: Can you pick up https://lore.kernel.org/20240125-fix-riscv-option-arch-llvm-18-v1-0-390ac9cc3cd0@kernel.org/ for fixes so it can start getting wider testing before going to Linus?
<palmer> nathanchance: ya, NP. I just put it in staging for the tester, it'll show up eventually (I've got to find some time to deal with whatever this merge thing is)
<palmer> mostly just build time, though
<nathanchance> Thanks :) I just want to make sure it does not get lost in the noise since it’s fixing something from 6.6 IIRC
<palmer> ya, sorry I'd missed it -- I think Conor had pointed it out a few times
psydroid has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
ntwk has quit [Ping timeout: 256 seconds]
shamoe has joined #riscv
foton has quit [Quit: %Bye, bye, ...%]
ntwk has joined #riscv
heat__ has joined #riscv
heat_ has quit [Read error: Connection reset by peer]
lagash has quit [Ping timeout: 255 seconds]
heat__ is now known as heat
mahk has quit [Ping timeout: 255 seconds]
cousteau has quit [Quit: ♫ I can't forget the day I shot that network down ♫]
Tenkawa has quit [Quit: Was I really ever here?]
<unlord> palmer: hmm, looks like I found a bug in binutils
<palmer> unlord: the only candidate I know of is this p2align thing Patrick found, but Nelson is on vacation so we haven't gotten to the bottom of it
<palmer> If you have a reproducer, I guess just file a bugzilla?
<unlord> palmer: I have a reproducer, https://paste.debian.net/hidden/c93b6107/
<unlord> For some reason the conditional .if \txfm1 == asdt is adding *UND*0000000000000000 adst
<unlord> sorry, .if \txfm1 == adst
<palmer> ya, I wouldn't be surprised if there's a big somewhere in there -- we don't generally know symbol addresses until link time, so I bet we're screwing something up
<palmer> SHN_ABS is kind of a grey area in RISC-V land, too
<unlord> well, this is just a string comparison. I have no idea why it is adding an UND symbol for adst
<palmer> oh, I thought it was a symbol comparison? I guess I'm lost in the macros, then...
<unlord> Sorry, I can make an even simpler reproducer
<palmer> ya, that'd be great
<palmer> I don't really use assembler macros
<unlord> This has only one macro
<unlord> this has the strings quoted
<palmer> unlord: so I don't really use the complex assembler stuff, but as far as I can tell from the docs both `.if` and `==` take absolute expressions. I'm still getting weird behavior from .equ playing with .if, though
<palmer> so I think maybe there's a bug somewhere in there, and it's just that the strings compare fine as absolute expressions normally?
<unlord> palmer: I was getting different behavior if I put the .equ above or below the macro
<palmer> OK, I was just trying that and I'm getting the same behavior
<palmer> never mind, I'm just an idiot and I'm comparing the same value
<unlord> in the example I posted, if you move the 3 .equ above but keep them all == 1, then it does weird things
<palmer> so I think it just depends on the .set/.if ordering? the docs sort of hint at that...
<unlord> I was just surprised that .if created UND symbols
<unlord> Is that expected behavior?
<palmer> I wouldn't expect that, it seems odd: it's not like there's any remaining symbol references left in the binary at that point, so why's there a reference?
<palmer> that would likely be some generic binutils thing, though, so it's possible there's some reason
<palmer> it kind of smells like a bug, something like outputting a symbol without a section for it
<palmer> the objects still link, so maybe just nobody's noticed?
<unlord> it doesn't link in dav1d
<unlord> maybe it is the -Wl,--no-undefined
<palmer> I thought so too, but doesn't seem to be doing it for me
<palmer> I think that's different, though: that's a reference to an undefined symbol, this is a symbol with an undefined section
<palmer> that links, but produces the UND symbol
<unlord> huh
<palmer> I get the same behavior on x86
<palmer> maybe I'm just reading the objdump wrong here
<palmer> maybe this is just expected: the symbol table is saying that symbol is in some other section, but at link time everything's fine because nothing tries to resolve it?
<palmer> there's no "l" there, so I think it is an undefined symbol
<unlord> I'm guessing dav1d adds link time checks
<palmer> I'd guess the `.if` logic getting screwed up just causes it to emit references you don't want
<palmer> so I think maybe there's another issue related to the `.if`, but I'm not sure that `.if` vs `.equ` ordering is a bug or a feature
<unlord> I think the .equ ordering is probably intended behavior
<palmer> ya, the docs kind of hint at that
<palmer> (though I think it could also mean these being defined in another object or something)
<palmer> maybe we should improve the docs, sometimes that's the best way to tell if something's a feature ;)
lagash has joined #riscv
motherfsck has quit [Ping timeout: 268 seconds]
heat has quit [Ping timeout: 255 seconds]
motherfsck has joined #riscv
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #riscv
JanC has quit [Ping timeout: 255 seconds]
JanC has joined #riscv
handsome_feng has joined #riscv
mlw has joined #riscv
BootLayer has joined #riscv
EchelonX has quit [Quit: Leaving]
<sorear> gas does weird things with symbols at parse time, IIRC there were issues a while ago with "jal ra, function" putting "ra" in the symbol table or something along those lines
davidlt has joined #riscv
jmdaemon has joined #riscv
junaid_ has joined #riscv
junaid_ has quit [Client Quit]
davidlt has quit [Ping timeout: 264 seconds]
davidlt has joined #riscv
BootLayer_ has joined #riscv
BootLayer has quit [Read error: Connection reset by peer]
junaid_ has joined #riscv
shamoe has quit [Quit: Connection closed for inactivity]
davidlt has quit [Ping timeout: 255 seconds]
hightower2 has quit [Ping timeout: 260 seconds]
JanC has quit [Ping timeout: 256 seconds]
JanC has joined #riscv
Kedleston has quit [Ping timeout: 264 seconds]
naoki has quit [Quit: naoki]
handsome_feng has quit [Quit: Connection closed for inactivity]
Kedleston has joined #riscv
Noisytoot has quit [Excess Flood]
Noisytoot has joined #riscv
Stat_headcrabed has joined #riscv
davidlt has joined #riscv
bjdooks has quit [Remote host closed the connection]
bjdooks has joined #riscv
davidlt has quit [Ping timeout: 264 seconds]
davidlt has joined #riscv
uzix has joined #riscv
hightower2 has joined #riscv
hightower2 has quit [Remote host closed the connection]
hightower2 has joined #riscv
BootLayer_ has quit [Quit: Leaving]
uzix is now known as mahk
ntwk has quit [Read error: Connection reset by peer]
ntwk has joined #riscv
Tenkawa has joined #riscv
psydroid has joined #riscv
foton has joined #riscv
jmdaemon has quit [Ping timeout: 260 seconds]
jn has joined #riscv
jn has joined #riscv
jn has quit [Changing host]
heat has joined #riscv
BootLayer has joined #riscv
JanC has quit [Ping timeout: 255 seconds]
JanC_ has joined #riscv
JanC_ is now known as JanC
somlo_ has joined #riscv
somlo has quit [Ping timeout: 268 seconds]
Noisytoot has quit [Excess Flood]
heat_ has joined #riscv
heat has quit [Ping timeout: 256 seconds]
Noisytoot has joined #riscv
Andre_Z has joined #riscv
crossdev has joined #riscv
Stat_headcrabed has quit [Quit: Stat_headcrabed]
shamoe has joined #riscv
<sorear> ia64: vtable contains inline function descriptors ppc64v1, sh-fdpic, arm-fdpic: vtable contains pointers to function descriptors m68k: can't figure out how to enable fdpic frv, blackfin, hppa: not on compiler explorer, but gcc only seems to define TARGET_VTABLE_USES_DESCRIPTORS on ia64
crabbedhaloablut has quit []
crabbedhaloablut has joined #riscv
Andre_Z has quit [Quit: Leaving.]
ntwk has quit [Ping timeout: 252 seconds]
jn has joined #riscv
jn has joined #riscv
ntwk has joined #riscv
Trifton has quit [Quit: Client exited]
junaid__ has joined #riscv
junaid__ has quit [Client Quit]
junaid_ has quit [Remote host closed the connection]
knielsen has quit [Ping timeout: 240 seconds]
knielsen has joined #riscv
dramforever[m] has quit [Quit: Idle timeout reached: 172800s]
junaid_ has joined #riscv
hightower3 has joined #riscv
hightower2 has quit [Ping timeout: 264 seconds]
foton has quit [Quit: %Bye, bye, ...%]
shamoe has quit [Quit: Connection closed for inactivity]
simpl_e has joined #riscv
JanC_ has joined #riscv
JanC is now known as Guest7953
Guest7953 has quit [Killed (calcium.libera.chat (Nickname regained by services))]
JanC_ is now known as JanC
ntwk has quit [Ping timeout: 256 seconds]
Andre_Z has joined #riscv
BootLayer has quit [Quit: Leaving]
fuwei has quit [Ping timeout: 272 seconds]
fuwei has joined #riscv
junaid_ has quit [Remote host closed the connection]
hightower4 has joined #riscv
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #riscv
hightower3 has quit [Ping timeout: 264 seconds]
<sorear> I don't have enough domain knowledge to usefully comment but I'm kind of bothered that perf seems to require out of band (relative to existing firmware interfaces) knowledge of hart implementation-defined behavior, especially given that we don't have a reliable way to identify hart implementations
<sorear> s/identify/uniquely name/
mlw has quit [Ping timeout: 255 seconds]
Andre_Z has quit [Quit: Leaving.]
shamoe has joined #riscv
Trifton has joined #riscv
Andre_Z has joined #riscv
crossdev has quit [Remote host closed the connection]
psydroid has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
davidlt has quit [Ping timeout: 252 seconds]
stefanct has quit [Excess Flood]
stefanct has joined #riscv
ntwk has joined #riscv
flatmush has joined #riscv
Tenkawa has quit [Quit: Was I really ever here?]
MaxGanzII_ has quit [Quit: Leaving]
MaxGanzII has joined #riscv