IRC channel logs

2024-03-01.log

back to list of logs

<webczat>oriansj: suspected assembler bug. :)
<webczat>linker usually gets it right for some reason. except when it doesn't and this causes the failure to use set_thread_area.
<webczat>i am not competent enough to debug this myself but I can provide a binary which exhibits this behavior + the __set_thread_area.o object file.
<webczat>i mean i don't know enough about things like relocations and such like
<oriansj>webczat: well relocations come in two types: data and code. Code tends to either depend upon a hard coded address to contain the new address or Position Independent Code (which loads relative to the current PC address); Data just tends to be an update to where the code is looking (passed value or some address being populated)
<webczat>i haven't tried looking at relocation tables.
<webczat>discovered tcc -ar bug.
<webczat>repeatedly using it will always truncate the archive instead of adding onto it.
<webczat>so binutils 2.4x build breaks on bfd
<stikonas>webczat: can tcc even build binutils 2.4x...?
<stikonas>I had quite a bit of trouble last I tried
<webczat>stikonas: mob version just did
<stikonas>ok, mob maybe
<stikonas>I used 0.9.27
<webczat>although there are problems because tcc doesn't support TLS and binutils has a bug that doesn't really accommodate for this even though configure checks. so you need to define a TLS macro to empty value, then you need to work around the above ar bug, and then it seems to work