projects
/
pintos-anon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix gcc inline assembler operand constraints for syscall -- as pushl modifies %esp...
[pintos-anon]
/
src
/
lib
/
user
/
syscall.c
diff --git
a/src/lib/user/syscall.c
b/src/lib/user/syscall.c
index 858b77c7d45d47ef7aca231f921ce88f5a257c6f..c8385bc3364b1eabc57e68bae885fe458537b42a 100644
(file)
--- a/
src/lib/user/syscall.c
+++ b/
src/lib/user/syscall.c
@@
-38,8
+38,8
@@
"pushl %[number]; int $0x30; addl $12, %%esp" \
: "=a" (retval) \
: [number] "i" (NUMBER), \
"pushl %[number]; int $0x30; addl $12, %%esp" \
: "=a" (retval) \
: [number] "i" (NUMBER), \
- [arg0] "
g
" (ARG0), \
- [arg1] "
g
" (ARG1) \
+ [arg0] "
r
" (ARG0), \
+ [arg1] "
r
" (ARG1) \
: "memory"); \
retval; \
})
: "memory"); \
retval; \
})
@@
-54,9
+54,9
@@
"pushl %[number]; int $0x30; addl $16, %%esp" \
: "=a" (retval) \
: [number] "i" (NUMBER), \
"pushl %[number]; int $0x30; addl $16, %%esp" \
: "=a" (retval) \
: [number] "i" (NUMBER), \
- [arg0] "
g
" (ARG0), \
- [arg1] "
g
" (ARG1), \
- [arg2] "
g
" (ARG2) \
+ [arg0] "
r
" (ARG0), \
+ [arg1] "
r
" (ARG1), \
+ [arg2] "
r
" (ARG2) \
: "memory"); \
retval; \
})
: "memory"); \
retval; \
})
@@
-176,3
+176,9
@@
isdir (int fd)
{
return syscall1 (SYS_ISDIR, fd);
}
{
return syscall1 (SYS_ISDIR, fd);
}
+
+int
+inumber (int fd)
+{
+ return syscall1 (SYS_INUMBER, fd);
+}