From 15b4c0b6b9a17dcd9178c87d95c4da3a392f6287 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Wed, 27 Nov 2019 01:52:24 +0100 Subject: [PATCH] usyscall: purge syscall macros --- src/jehanne/cmd/usyscalls/usyscalls.go | 36 +++++--------------------- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/src/jehanne/cmd/usyscalls/usyscalls.go b/src/jehanne/cmd/usyscalls/usyscalls.go index b3329ed..f912c80 100644 --- a/src/jehanne/cmd/usyscalls/usyscalls.go +++ b/src/jehanne/cmd/usyscalls/usyscalls.go @@ -31,7 +31,7 @@ import ( const gplHeader string = `/* * This file is part of Jehanne. * - * Copyright (C) 2016 Giacomo Tesio + * Copyright (C) 2016-2019 Giacomo Tesio * * Jehanne is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -173,7 +173,7 @@ func getHeaderData(calls []SyscallConf) *HeaderCode { func generateSyscallTable(calls []SyscallConf){ code := getHeaderData(calls) tmpl, err := template.New("tab.c").Parse(` -{{ range .Wrappers }}"{{ .Name }}", (int(*)()) {{ .Name }}, +{{ range .Wrappers }}"{{ .Name }}", (int(*)()) sys_{{ .Name }}, {{ end }} `) err = tmpl.Execute(os.Stdout, code) @@ -189,9 +189,9 @@ func generateLibcCode(calls []SyscallConf){ #include {{ range .Wrappers }} -#pragma weak {{ .Name }} +#pragma weak sys_{{ .Name }} {{ .RetType }} -{{ .Name }}({{ .FuncArgs }}) +sys_{{ .Name }}({{ .FuncArgs }}) { register {{ .RetType }} __ret asm ("rax"); __asm__ __volatile__ ( @@ -224,34 +224,10 @@ typedef enum Syscalls {{ end }}} Syscalls; #ifndef KERNEL -{{ range .Wrappers }} -#define sys_{{ .Name }}({{ .MacroArgs }}) ({ \ - {{ range .VarValues }}{{.}}{{end}}{{ range .Vars }}{{.}}{{end}}register {{ .RetType }} __ret asm ("rax"); \ - __asm__ __volatile__ ( \ - "syscall" \ - : "=&r" (__ret) \ - : {{ .AsmArgs }} \ - : {{ .AsmClobbers }} \ - ); \ - __ret; }) + +{{ range .Wrappers }}extern {{ .RetType }} sys_{{ .Name }}({{ .FuncArgs }}); {{ end }} -#ifdef PORTABLE_SYSCALLS - -{{ range .Wrappers }}extern {{ .RetType }} {{ .Name }}({{ .FuncArgs }}); -{{ end }} -extern int32_t read(int, void*, int32_t); -extern int32_t write(int, const void*, int32_t); - -#else - -{{ range .Wrappers }}# define {{ .Name }}(...) sys_{{ .Name }}(__VA_ARGS__) -{{ end }} -#define read(fd, buf, size) pread(fd, buf, size, -1) -#define write(fd, buf, size) pwrite(fd, buf, size, -1) - -#endif - #endif `) err = tmpl.Execute(os.Stdout, code)