Gentoo Archives: gentoo-soc

From: Ahmed Soliman <ahmedsoliman0x666@×××××.com>
To: gentoo-soc@l.g.o, Luca Barbato <lu_zero@g.o>
Subject: [gentoo-soc] Progress: Gentoo RELIBC porting
Date: Sat, 15 Aug 2020 22:49:12
Message-Id: CAAGnT3Yc9u6PrpJ+BRBK4c8PpVKGC8mTzupQUfcVgCv7n5nDwg@mail.gmail.com
1 Hello All,
2
3 So this is a quick recap of what has been done so far.
4 Between 25th July and a week ago I was in exams, but once I was done
5 there was huge progress.
6
7 So I was finally able to get gcc compile stage2 under gentoo using
8 relibc as "the" libc. Which means gcc is linked against relibc and it
9 produces a relibc binary. and that is (almost) full gcc. with support
10 for gcc plugins (specifically LTO plugin gave me hard time fixing bugs
11 in RTLD).
12
13 So at the end there was these two patches
14 https://gitlab.redox-os.org/redox-os/relibc/-/merge_requests/300
15 https://gitlab.redox-os.org/redox-os/relibc/-/merge_requests/303
16
17 The first allows RTLD to resolve bin paths using env $PATH and the
18 second introduces support for shared object soname and prevents
19 loading the same library twice. (half bug and half performance boost).
20
21 At this stage and after 10+ pull requests for that particular mile
22 stone gcc do work with relibc. (didn't I mention it uses relibc based
23 binutils as well? ).
24
25 Some patches fixed bugs in printf/scanf functions families, other
26 patches implemented missing header files, or implementing glibc(TM)
27 specific features in relibc. But, most of the patch sets I submitted
28 (as well as the time invested) are targeted towards RTLD, it proved to
29 be the most incomplete part in relibc and one of the hardest things to
30 work on.
31
32 The last real battle would be against the rust compiler if this gets
33 to compile and properly work, then the rest is just overlay repos and
34 simple stuff. (or I hope so).
35
36 Just in case someone might be interested in duplicating my work
37 environment, you are very much welcomed to the repo where I keep my
38 scripts for compiling stuff, when I started I thought I might forget
39 how I end up with working environment and now I don't even know the
40 ./configure arguments I used for that very last recent gcc :P. Still
41 all is in the repo!
42 https://github.com/oddcoder/relibc-setup-repo
43
44 Thanks,
45 Ahmed.