--- Log opened Fri Aug 23 00:00:54 2019 | ||
ysionneau | shorne: hi :) Is there a documentation of openrisc relocs somewhere ? | 10:45 |
---|---|---|
ysionneau | (regarding uclibc thread) | 10:45 |
ZipCPU | ysionneau: Please stick around. The channel is active, but only slowly so. (Answers might take 12hrs or so) | 10:46 |
ysionneau | ZipCPU: thx I'll stick around, though in a few hours I'll be hiking around in Scotland for 2 weeks | 10:46 |
ysionneau | so I guess I'll read the answer after that | 10:46 |
ZipCPU | There are logs too, in case you have to drop out | 10:46 |
ysionneau | right, thanks, I use a bouncer so I guess that wont be necessary | 10:48 |
ZipCPU | shorne has been the one answering questions, so I'll tag him now in case that helps | 10:48 |
ZipCPU | (I don't actually know the answer ...) | 10:48 |
ysionneau | he just answered about this topic on the uclibc-ng mailing list today | 10:49 |
ysionneau | anyway there is no urgency whatsoever | 10:49 |
ysionneau | ok I've got my answer, it is there: https://github.com/openrisc/doc/raw/master/openrisc-arch-1.3-rev1.pdf | 10:51 |
ysionneau | that only describes the dynamic relocs though, not the static ones | 10:52 |
ysionneau | (the ones that are present in .o but not in final linked elf) | 10:52 |
shorne | ysionneau: there is not much on openrisc relocs other than what is in binutils source | 16:45 |
shorne | note, I was able to reproduce the issue with the uclibc build | 16:46 |
shorne | And I could fix it by just deleting the code that uss __syscall_error in or1k_clone.S | 16:46 |
shorne | the problem is only in there | 16:46 |
shorne | i.e. I did this patch | 16:46 |
shorne | diff --git a/libc/sysdeps/linux/or1k/or1k_clone.S b/libc/sysdeps/linux/or1k/or1k_clone.S | 16:47 |
shorne | index a2c16ac9e..b290abedb 100644 | 16:47 |
shorne | --- a/libc/sysdeps/linux/or1k/or1k_clone.S | 16:47 |
shorne | +++ b/libc/sysdeps/linux/or1k/or1k_clone.S | 16:47 |
shorne | @@ -71,7 +71,7 @@ L(oldpid): | 16:47 |
shorne | l.ori r3, r11, 0 | 16:47 |
shorne | L(error): | 16:47 |
shorne | - l.j SYSCALL_ERROR_NAME | 16:47 |
shorne | - l.ori r3,r11,0 | 16:47 |
shorne | + //l.j C_SYMBOL_NAME(__syscall_error) | 16:47 |
shorne | + // l.ori r3,r11,0 | 16:47 |
shorne | -PSEUDO_END (__or1k_clone) | 16:47 |
shorne | +END (__or1k_clone) | 16:47 |
shorne | So, the bad relocation is only in this 1 file. I think i/we will need to fix that | 16:48 |
shorne | Note, in the glibc port I am working on fixing up I dont get this issue and the code is the same pretty much: https://github.com/stffrdhrn/or1k-glibc/blob/upstream-rebase/sysdeps/unix/sysv/linux/or1k/or1k_clone.S | 16:53 |
tpb | Title: or1k-glibc/or1k_clone.S at upstream-rebase · stffrdhrn/or1k-glibc · GitHub (at github.com) | 16:53 |
shorne | For relocations in the final binary see: | 16:56 |
shorne | https://github.com/stffrdhrn/or1k-glibc/blob/upstream-rebase/sysdeps/or1k/dl-machine.h#L191 | 16:56 |
tpb | Title: or1k-glibc/dl-machine.h at upstream-rebase · stffrdhrn/or1k-glibc · GitHub (at github.com) | 16:56 |
--- Log closed Sat Aug 24 00:00:56 2019 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!