website/blog/tag_olibc.html

178 lines
8.7 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="main.css" type="text/css">
<link rel="stylesheet" href="blog.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="subscribe to this page..." href="https://gru.codeberg.page/blog/feed.xml">
<title>GRU's blog &mdash; posts tagged "olibc"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://gru.codeberg.page/blog/index.html">GRU's blog</a></h1>
<div id="description">GRU's blog</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="gru-devlog-23---more-olibc-and-start-of-occ-and-more-projects-ideas.html">
GRU Devlog 23 - more olibc and start of occ (and more projects ideas!)
</a></h3>
<!-- bashblog_timestamp: #202201021813.55# -->
<div class="subtitle">January 02, 2022 &mdash;
G1n
</div>
<!-- text begin -->
<p>I think this week was productive. I have done a lot of things to olibc. First I finally
implemented working FILE struct. That required to implement malloc and free, so we also
have it now! Then stdio.h was implemented. Still need to make a lot of functions, but
we already have most useful ones (for examples every C11 printf functions implemented and
fully working). Also finally stdin/stdout/stderr file descriptors working properly.</p>
<p>We have full implemented &lt;ctype.h> header now! It wasn&rsquo;t really hard.</p>
<p>This year I started from tryes to make occ - GRU C compiler (maybe it will be GRU Compiler
Collection in future). A lot of things will need to be implemented and a lot of new to know!
I hope it will be fun :)</p>
<p>Happy New 2022 Year! I hope we will make a lot of new tools this year. And more people will
join us :)</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_occ.html'>occ</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-22---olibc-liblinux-mailing-list.html">
GRU Devlog 22 - olibc, liblinux, mailing list
</a></h3>
<!-- bashblog_timestamp: #202112261650.00# -->
<div class="subtitle">December 26, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>Happy Chirstmas! Next GRU Devlog will be next year so Happy New Year! I hope GRU will grow
and grow next year :D</p>
<p>On last Sunday we have created mailing list after devlog. Currently it is not active, but
but you can message us there - gru@lists.tildeverse.org. Then I tryed to make FILE struct
for liblinux, but it wasn&rsquo;t working so it needed to be reimplemented.</p>
<p>Then youngchief submitted some changes to our webpage. Also robyndrake contributed some fixes
to coreutils.</p>
<p>Also I had implemented printf and vprintf! It currently have %c, %d, %s so it will be useful
for debugging. I have tryed to implement snprintf, but i had several problems with it so
it is not done yet.</p>
<p>Then chunk contributed logo for us! I think it looks nice!</p>
<p>Last useful thing that I have done this week is very minimal FILE, it currently just has
fd and nothing else.</p>
<p>I hope we will make more cool things and finish current projects next year!</p>
<p>Hope you liked this post! I wish everyone cool New Year!
If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_mailing-list.html'>mailing-list</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-21---olibc.html">
GRU Devlog 21 - olibc
</a></h3>
<!-- bashblog_timestamp: #202112191709.23# -->
<div class="subtitle">December 19, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I also was making olibc. Now it is published! I have mostly implemented &lt;string.h>, but there
still some funcs that require &lt;locale.h>, so they are not implemented yet.</p>
<p>I found out why olibc wasn&rsquo;t giving correct return value after program is executed. It was because
liblinux wasn&rsquo;t exiting correctly, so it received some random return values from stack.</p>
<p>Also a lot of testing were done. I have found out that several functions wasn&rsquo;t working correctly
and fixed it. We have shell script for testing that compares results from our libc and libc that
installed on user&rsquo;s machine. It prints a diff output if test was failed. It also have other
features, if you want you can check it by running <code>test.sh --help</code> by yourself.</p>
<p>Because of it I have found that several functions were wrong implemented. But now finally
everything is working and strtok is correctly implemented!</p>
<p>Also this blog finally moved totally from my webpage, so we can move this site on different
server just by cloning it from codeberg or tildegit</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-20---olibc.html">
GRU Devlog 20 - olibc
</a></h3>
<!-- bashblog_timestamp: #202112121746.18# -->
<div class="subtitle">December 12, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was making olibc. I was implementing &lt;string.h>. Also I was fixing liblinux to
be able to include it without need to use full path in <code>#include</code>. I had several other issues
with it and also fixed them.</p>
<p>My current goal is to implement &lt;string.h> and after that I am planning to publish it.
Currently most of funcs are implemented. Making strtok now but all other functions need
locale.h and I don&rsquo;t know yet how it will be implemented. But it is already cool that we
have most of functions that should be in &lt;string.h>!</p>
<p>Also we now have <a href="https://gru.codeberg.page">gru webpage on codeberg</a>! Maybe next week I
will move all devlogs to gru webpage so it will be easier to move.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-19---gic-and-several-libs.html">
GRU Devlog 19 - gic and several libs
</a></h3>
<!-- bashblog_timestamp: #202112051657.11# -->
<div class="subtitle">December 05, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week started with making gic (maybe name will be change). As I have written before
it is going to be suckless ii clone. Also I started making girclib - simple C library for irc
protocol. I think it will be published as separate project, because I would like to make it
for both: client and server. I don&rsquo;t yet how it will be done but we will see&hellip;</p>
<p>Then I thought that would be cool to have own libc, but have no knowledge how it speaks with OS.
Then I understood that on linux it is working via syscalls. So started making liblinux -
C library for linux syscalls. Using it we won&rsquo;t need to use assembly a lot in our libc. Currently
write and read syscalls are done and programmer can use it if passed -I, -L and -l flags to compiler.
And it is already published! (check codeberg or tildegit)</p>
<p>After understanding how to create proper makefile with liblinux, I started making olibc. Currently
it has very tiny number of features. But string.h is mostly done! I don&rsquo;t know when I will fill that
it will be ready enough to be published, but hope to have useful functions and test suit there till
that time.</p>
<p>When olibc will be done enough I am going to start making C compiler (already have some code, but it
is old and I not understand how it works, so need to be rewritten). Also I hope that we will have
enough toolchain (or I will have enough knowledge to implement things that are not done faster)
for our own Linux or BSD distribution. But that will be in future&hellip;</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_gic.html'>gic</a>, <a href='tag_girclib.html'>girclib</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_libs.html'>libs</a></p>
<!-- text end -->
</div>
<div id="footer">CC by-nc-nd <a href="https://gru.codeberg.page/">G1n</a> &mdash; <a href="mailto:g1n&#64;ttm&#46;sh">g1n&#64;ttm&#46;sh</a><br>
generated with <a href="https://tildegit.org/team/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>