...
 
Commits (3)
  • Kevin Wolf's avatar
    libc: fsync() für LIOv2-Ressourcen implementiert · 649f6aad
    Kevin Wolf authored
    + libc: Für Dateideskriptoren, die auf eine LIOv2-Ressource zeigen, ruft
      das neue fsync() jetzt einfach lio_sync() auf. Für alles andere gibt
      es EBADF zurück.
    Signed-off-by: Kevin Wolf's avatarKevin Wolf <kevin@tyndur.org>
    649f6aad
  • Kevin Wolf's avatar
    config.sh: GRUB 2 in /usr/share/grub2/i386-pc unterstützen · 66f0e12d
    Kevin Wolf authored
    + config.sh: OpenSUSE 15.1 benutzt nochmal einen anderen Pfad für GRUB 2
      als die, die wir schon prüfen. Unterstützen wir den einfach auch.
    Signed-off-by: Kevin Wolf's avatarKevin Wolf <kevin@tyndur.org>
    66f0e12d
  • Nico Mayer's avatar
    buildmk.sh: -Wno-address-of-packed-member in CC_FLAGS · dde33629
    Nico Mayer authored
    ! gcc9 hat eine neue Warnung "address-of-packed-member" eingeführt, die
      zu einem Compilerfehler führt:
    
        socket.c:161:5: Fehler: die Umwandlung eines gepackten Zeigers auf »io_resource_t« {alias »struct <anonym>«} (Ausrichtung 1) in einen Zeiger auf »FILE« {alias »struct lostio_internal_file«} (Ausrichtung 4) führt möglicherweise zu einem nicht ausgerichteten Zeiger [-Werror=address-of-packed-member]
          161 |     setvbuf((FILE*)conn, NULL, _IONBF, 0);
              |     ^~~~~~~
    
        socket.c: In Funktion »accept«:
        socket.c:297:5: Fehler: die Umwandlung eines gepackten Zeigers auf »io_resource_t« {alias »struct <anonym>«} (Ausrichtung 1) in einen Zeiger auf »FILE« {alias »struct lostio_internal_file«} (Ausrichtung 4) führt möglicherweise zu einem nicht ausgerichteten Zeiger [-Werror=address-of-packed-member]
          297 |     setvbuf((FILE*)conn, NULL, _IONBF, 0);
              |     ^~~~~~~
    
      Dieser Patch deaktiviert die Warnung.
    Signed-off-by: 's avatarNico Mayer <mayerNico@outlook.de>
    Signed-off-by: Kevin Wolf's avatarKevin Wolf <kevin@tyndur.org>
    dde33629
......@@ -80,7 +80,7 @@ if [ -f "user-$LOST_ARCH.ld" ]; then
export LDSCRIPT="-T `pwd`/user-$LOST_ARCH.ld"
fi
CC_FLAGS=
CC_FLAGS="-Wno-address-of-packed-member"
if [ -f Makefile.conf ]; then
source Makefile.conf
fi
......
......@@ -9,6 +9,8 @@ LOST_TOOLS_QEMU=qemu-system-x86_64
if [ -d /usr/lib/grub2/i386-pc ]; then
LOST_GRUB2_MODULESDIR=/usr/lib/grub2/i386-pc
elif [ -d /usr/share/grub2/i386-pc ]; then
LOST_GRUB2_MODULESDIR=/usr/share/grub2/i386-pc
else
LOST_GRUB2_MODULESDIR=/usr/lib/grub/i386-pc
fi
......
......@@ -55,6 +55,9 @@ extern "C" {
/// Prüft, ob es sich um ein Terminal handelt
int isatty(int fd);
/// Schreibt alle ausstehenden Änderungen aus Caches zurück
int fsync(int fd);
/// PID des aktuellen Prozesses auslesen
pid_t getpid(void);
......
......@@ -625,6 +625,28 @@ int isatty(int fd)
return 1;
}
/**
* Schreibt alle ausstehenden Änderungen aus Caches zurück.
*/
int fsync(int fd)
{
io_resource_t* file = fd_to_file(fd);
int ret;
if (file == NULL || !IS_LIO2(file)) {
errno = EBADF;
return -1;
}
ret = lio_sync(file->lio2_stream);
if (ret < 0) {
errno = -ret;
return -1;
}
return 0;
}
#ifndef CONFIG_LIBC_NO_STUBS
/**
......