merge main into hifive1
This commit is contained in:
commit
abfde888fb
|
@ -24,16 +24,36 @@ LIBWRAP_SRCS := \
|
||||||
sys/times.c \
|
sys/times.c \
|
||||||
sys/sbrk.c \
|
sys/sbrk.c \
|
||||||
sys/_exit.c \
|
sys/_exit.c \
|
||||||
|
sys/puts.c \
|
||||||
misc/write_hex.c \
|
misc/write_hex.c \
|
||||||
sys/printf.c
|
sys/printf.c
|
||||||
|
|
||||||
LIBWRAP_SRCS := $(foreach f,$(LIBWRAP_SRCS),$(LIBWRAP_DIR)/$(f))
|
LIBWRAP_SRCS := $(foreach f,$(LIBWRAP_SRCS),$(LIBWRAP_DIR)/$(f))
|
||||||
LIBWRAP_OBJS := $(LIBWRAP_SRCS:.c=.o)
|
LIBWRAP_OBJS := $(LIBWRAP_SRCS:.c=.o)
|
||||||
|
|
||||||
LIBWRAP_SYMS := malloc free \
|
LIBWRAP_SYMS := \
|
||||||
open lseek read write fstat stat close link unlink \
|
malloc \
|
||||||
execve fork getpid kill wait \
|
open \
|
||||||
isatty times sbrk _exit
|
lseek _lseek\
|
||||||
|
read _read\
|
||||||
|
write _write\
|
||||||
|
fstat _fstat\
|
||||||
|
stat \
|
||||||
|
close _close\
|
||||||
|
link \
|
||||||
|
unlink \
|
||||||
|
execve \
|
||||||
|
fork \
|
||||||
|
getpid \
|
||||||
|
kill \
|
||||||
|
wait \
|
||||||
|
isatty \
|
||||||
|
times \
|
||||||
|
sbrk _sbrk\
|
||||||
|
_exit \
|
||||||
|
puts _puts\
|
||||||
|
printf \
|
||||||
|
sprintf
|
||||||
|
|
||||||
LIBWRAP := libwrap.a
|
LIBWRAP := libwrap.a
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
extern volatile uint32_t tohost;
|
extern volatile uint32_t tohost;
|
||||||
extern volatile uint32_t fromhost;
|
extern volatile uint32_t fromhost;
|
||||||
|
void write_hex(int fd, uint32_t hex);
|
||||||
|
|
||||||
void __wrap__exit(int code)
|
void __wrap__exit(int code)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,8 +2,12 @@
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "stub.h"
|
#include "stub.h"
|
||||||
|
#include "weak_under_alias.h"
|
||||||
|
|
||||||
int __wrap_close(int fd)
|
int __wrap_close(int fd)
|
||||||
{
|
{
|
||||||
return _stub(EBADF);
|
return _stub(EBADF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
weak_under_alias(close);
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include "stub.h"
|
#include "stub.h"
|
||||||
|
#include "weak_under_alias.h"
|
||||||
|
|
||||||
int __wrap_fstat(int fd, struct stat* st)
|
int __wrap_fstat(int fd, struct stat* st)
|
||||||
{
|
{
|
||||||
|
@ -14,3 +15,5 @@ int __wrap_fstat(int fd, struct stat* st)
|
||||||
|
|
||||||
return _stub(EBADF);
|
return _stub(EBADF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
weak_under_alias(fstat);
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "stub.h"
|
#include "stub.h"
|
||||||
|
#include "weak_under_alias.h"
|
||||||
|
|
||||||
off_t __wrap_lseek(int fd, off_t ptr, int dir)
|
off_t __wrap_lseek(int fd, off_t ptr, int dir)
|
||||||
{
|
{
|
||||||
|
@ -12,3 +13,6 @@ off_t __wrap_lseek(int fd, off_t ptr, int dir)
|
||||||
|
|
||||||
return _stub(EBADF);
|
return _stub(EBADF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
weak_under_alias(lseek);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/* See LICENSE of license details. */
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include "platform.h"
|
||||||
|
#include "stub.h"
|
||||||
|
#include "weak_under_alias.h"
|
||||||
|
|
||||||
|
int __wrap_puts(const char *s)
|
||||||
|
{
|
||||||
|
while (*s != '\0') {
|
||||||
|
while (UART0_REG(UART_REG_TXFIFO) & 0x80000000) ;
|
||||||
|
UART0_REG(UART_REG_TXFIFO) = *s;
|
||||||
|
|
||||||
|
if (*s == '\n') {
|
||||||
|
while (UART0_REG(UART_REG_TXFIFO) & 0x80000000) ;
|
||||||
|
UART0_REG(UART_REG_TXFIFO) = '\r';
|
||||||
|
}
|
||||||
|
|
||||||
|
++s;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
weak_under_alias(puts);
|
|
@ -1,6 +1,7 @@
|
||||||
/* See LICENSE of license details. */
|
/* See LICENSE of license details. */
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include "weak_under_alias.h"
|
||||||
|
|
||||||
void *__wrap_sbrk(ptrdiff_t incr)
|
void *__wrap_sbrk(ptrdiff_t incr)
|
||||||
{
|
{
|
||||||
|
@ -14,3 +15,5 @@ void *__wrap_sbrk(ptrdiff_t incr)
|
||||||
curbrk += incr;
|
curbrk += incr;
|
||||||
return curbrk - incr;
|
return curbrk - incr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
weak_under_alias(sbrk);
|
||||||
|
|
Loading…
Reference in New Issue