- 31 Aug, 2017 5 commits
-
-
Antoine Kaufmann authored
-
Antoine Kaufmann authored
-
Antoine Kaufmann authored
-
Antoine Kaufmann authored
-
Antoine Kaufmann authored
-
- 27 May, 2017 1 commit
-
-
Kevin Wolf authored
! user-i386.ld: ELF schreibt vor, dass wenn es ein PT_PHDR-Segment gibt (was bei dynamisch gelinkten Programmen der Fall ist), die Header gleichzeitig auch in einem LOAD-Segment sein müssen. Älteren binutils-Versionen war das egal, aber ein neuerer ld erweitert einfach das LOAD-Segment nach vorne, um Platz für die Header zu schaffen. Wenn jetzt .text direkt bei 0x40000000 anfängt, dann landen die Header also in dem Speicherbereich, der gar nicht mehr dem Userspace gehört, und die letzte Pagetable geht kaputt. Um das zu fixen, wird .text jetzt genau soweit nach hinten verschoben, dass ab 0x40000000 die Header Platz haben. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 21 May, 2017 1 commit
-
-
Kevin Wolf authored
! kedit: Wenn beim Überschreiben am Zeilenende doch neue Zeichen eingefügt werden, dann sollte man erst den Puffer vergrößern und dann das Zeichen reinschreiben, andersrum geht schief. ! kedit: Wenn ein Zeichen noch weiter rechts als am Zeilenende eingefügt wird, dann muss davor mit Leerzeichen aufgefüllt werden. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 20 May, 2017 1 commit
-
-
Kevin Wolf authored
+ lpt_install.sh: Auch lpt cfg-adddoc und cfg-addinc umsetzen ! lpt_install.sh: Symlinkpfad für lpt cfg-addlib gefixt Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 07 May, 2017 1 commit
-
-
! Copy from buffer to cache block only after verifying whether the cache block is valid. Signed-off-by:
Gurgel100 <baesae@hotmail.ch> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 18 Apr, 2017 1 commit
-
-
Kevin Wolf authored
! libc: Wiederholte typedefs sind vor C11 ungültig und können Compilerfehler in lbuilds verursachen, also lieber vermeiden Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 17 Apr, 2017 1 commit
-
-
Kevin Wolf authored
+ lpt_install.sh: Ein Skript, um lpt-Pakete vom Host aus zu installieren bevor das Image gebaut wird Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 16 Apr, 2017 1 commit
-
-
Kevin Wolf authored
+ shell: Der Pipe-Operator funktioniert jetzt so ein bisschen, ist allerdings noch keine echte Pipe, sondern führt die Programme DOS-mäßig eins nach dem anderen aus anstatt sie parallel auszuführen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 15 Apr, 2017 2 commits
-
-
Kevin Wolf authored
+ libc: dup2() ist jetzt wenigstens für den Fall implementiert, dass beide Dateideskriptoren schon existieren und beide LIOv2 sind Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! kernel2: Wenn das schreibende Ende einer Pipe geschlossen wird, muss auf dem lesenden Ende auch EOF signalisiert werden ! kernel2: Wenn es von der Pipe im Moment nichts mehr zu lesen gibt, dann ist das kein ungültiger Aufruf, sondern nur -EAGAIN Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 14 Apr, 2017 4 commits
-
-
Kevin Wolf authored
* getterm: Anstatt einen separaten Pfad für stderr zu benutzen und das als Ausgabedatei zu öffnen, baut sich getterm jetzt selber ein stderr, das sowohl les- als auch schreibbar ist, wenn stdin und stdout beide existieren. stdin wird dann für die Eingabe und stdout für die Ausgabe über stderr verwendet. Unter anderem macht das Pager wie less wesentlich glücklicher. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! kernel2: Wenn zwei verschiedene Streams zu einer non-seekable Ressource (z.B. Terminal) existieren, dann müssen ihre Dateizeiger synchronisiert werden, damit nicht z.B. Tastatureingaben doppelt gelesen werden. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Alle Zugriffe auf die aktuelle Dateiposition gehen jetzt nicht mehr direkt auf s->read_pos/write_pos, sondern durch die neuen Funktionen, die raussuchen, welches von beidem der richtige Wert ist. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Neuer Syscall zum Zusammenbasteln von Stream aus zwei verschiedenen Streams (Eingabe und Ausgabe) Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 23 Jan, 2017 3 commits
-
-
! syslinux: In neueren Versionen sind Files für bios- und UEFI-Boot vorhanden. Mit diesem Patch wird das vorhandensein hiervon erkannt und die bios-files verwendet. Signed-off-by:
Alexander Siol <dunklermeuchler@gmail.com> Acked-by:
Kevin Wolf <kwolf@tyndur.org>
-
! gcc 6.x haben einige neue Warnungen, u.a. für unsinnige Bedingungen, irritierende Formatierung, unbenutzte Variablen und overflows bei shift-Operationen ergänzt. Diese werden hiermit behoben. Signed-off-by:
Alexander Siol <dunklermeuchler@gmail.com> Acked-by:
Kevin Wolf <kwolf@tyndur.org>
-
! Einige der Prüfungen zu alten/neuen Dateipositionen im fat-Treiber waren statisch true, jetzt wird auch wieder geprüft. Signed-off-by:
Alexander Siol <dunklermeuchler@gmail.com> Acked-by:
Kevin Wolf <kwolf@tyndur.org>
-
- 21 Jan, 2017 6 commits
-
-
Kevin Wolf authored
* kernel2: lio_seek() geht jetzt eingeschränkt auch für Pipes, es betrifft dann immer die Position im Lesestream. Erlaubt ist es, die aktuelle Position zu ermitteln und (relativ) vorwärts zu springen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Passende Kernelimplementierung für die .pipe-Operation, die im Userspace schon implementiert ist: Für eine als Pipe markierte erstellt der Kernel beim Öffnen eine Pipe und gibt das eine Ende an den .pipe-Callback des Service. Das ist nicht das Interface, das wir am Ende haben wollen, aber es ist vervollständigt, was schon da ist, und erstmal das zu mergen und dann davon ausgehend weiterzubasteln macht das Rebasen des alten LIOv2-Codes auf master einfacher. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! shell: Seit fread() ordentlich blockiert wie es normalerweise sollte, funktioniert 'pipe' leider nicht mehr. Damit es weiterhin tut, muss man es auf passende LIO-Funktionen umbauen. Und irgendwann wäre auch mal was select()-artiges toll... Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Eine neue Read-Funktion, die nicht blockiert, und sowohl mit LIOv1- als auch LIOv2-Dateien tut. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: Wenn man Fehler als -errno zurückgibt, ist es nicht so clever, den Rückgabewert direkt in einen size_t zu speichern und dann nur auf ret < bytes zu testen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! vesa: vesamodeinfo kann auch auf dem Stack alloziert werden, dann sparen wir uns nicht nur das malloc(), sondern leaken das Ding auch nicht mehr. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 07 Jan, 2017 1 commit
-
-
Kevin Wolf authored
! image_hd_syslinux: Nach dem Vorbild des großen GRUB 2 hat sich syslinux entschieden, jetzt auch mal Modulabhängigkeiten zu haben, so dass einfach das kopieren, was man haben möchte, je nach Version nicht mehr unbedingt ausreicht. Also müssen wir jetzt auch hier die Module anschauen und rausfinden, welche Abhängigkeiten mitkopiert werden müssen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 05 Jan, 2017 1 commit
-
-
Kevin Wolf authored
! buildmk.sh: build/output/system muss erst einmal erstellt werden, sonst kann man die libc.so nicht dorthin kopieren Reported-by:
Alexander Siol <alex@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 04 Jan, 2017 11 commits
-
-
Kevin Wolf authored
* build/config: Je mehr lbuilds dazukommen, um so öfter reichen die 64 MB, die das Festplattenimage bisher hat, nicht mehr aus. Dieser Commit erhöht die Größe auf 256 MB, in der Hoffnung, dass das zumindest für eine Weile wieder ausreichend ist. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* libc: Anstatt wie bisher zwei separate Bibliotheken src/lib/library.a und src/modules/lib/library.a zu bauen, wird die Bibliothek aus src/lib/ jetzt nicht mehr direkt gegen Programme gelinkt, sondern in die library.{a,so} integriert. Damit ist libc.so vollständig genug, dass auch lbuilds dagegen linken können. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: Anscheinend haben wir setjmp.o nie wirklich ins .a-Archiv aufgenommen. Vielleicht sollte man das mal tun. * libc: Und wenn wir schon dabei sind, sollten wir für die (in Assembler implementieren) Funktionen auch noch den Symboltyp auf Funktion setzen und eine Größe angeben, sonst mag ld nicht dynamisch dagegen linken. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* libc: Wenn man mit -fPIC kompiliert, sind statt über 3300 Relokationen nur noch knapp 650 übrig. Und für echte Shared Libraries will man das früher oder später sowieso, weil damit dann alle Relokationen direkt nebeneinander liegen und man nicht überall COW machen muss. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Zusätzlich zur statischen Bibliothek auch eine dynamische bauen + modules/c/*: Die libc dynamisch linken Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! user-i386.ld: Wenn man __ctor/dtor_start/end__ innerhalb der Input Section Description anlegt statt außenrum, kommt ld nicht auf die Idee, irgendwelche Orphaned Sections dazwischenzupacken, die als Konstruktoren interpretiert nicht so richtig viel Sinn ergeben. + user-i386.ld: .dynbss explizit hinzugefügt (das hatte sich ohne den Fix zwischen die Konstruktoren gemogelt) Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Der ELF-32-Loader kann jetzt Shared Libraries nachladen, wenn die Binary einen DYNAMIC-Program-Header hat, der das verlangt. Dabei werden die nötigen Relokationen direkt ausgeführt (d.h. es gibt im Moment kein Lazy Binding, sondern alle Symbole, ob benötigt oder nicht, werden aufgelöst). Was hier implementiert ist, ist zwar dynamisches Linken, aber keine echten Shared Libraries, weil nämlich nichts gesharet wird. Das kann etwas Plattenplatz sparen, weil die Bibliotheken nur noch einmal vorhanden sein müssen statt überall statisch dazugelinkt, aber in Sachen RAM liegt weiter für jeden Prozess eine Kopie im Speicher. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Ein neuer Callback loader_get_library() für den ELF-Loader, der ein ELF-Image einer Shared Library in den Speicher lädt + init: Implementierung von loader_get_library() Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* libc: Als Vorbereitung für die Erweiterungen erst ein bisschen Refactoring für den bestehenden Loader machen. Der wird dabei so umgebaut, dass er davon ausgeht, dass es mal mehrere Images zu laden geben könnte. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Ein Satz sys/queue.h-Makros für einfach verkettete Listen Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: fread() mit blocksize == 0 sollte nicht durch Null teilen, sondern einfach direkt 0 zurückgeben. Das gleiche können wir auch mit blockcount == 0 tun, obwohl es da nicht so wichtig ist. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-