public
/
FUZIX.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9687cdd
)
syscall_exec16: Rework close_on_exec a bit to fix SDCC crap code generation
author
Alan Cox
<alan@linux.intel.com>
Wed, 22 Aug 2018 10:24:07 +0000
(11:24 +0100)
committer
Alan Cox
<alan@linux.intel.com>
Wed, 22 Aug 2018 10:24:07 +0000
(11:24 +0100)
Kernel/syscall_exec16.c
patch
|
blob
|
history
diff --git
a/Kernel/syscall_exec16.c
b/Kernel/syscall_exec16.c
index
58fc0e0
..
876258e
100644
(file)
--- a/
Kernel/syscall_exec16.c
+++ b/
Kernel/syscall_exec16.c
@@
-5,10
+5,14
@@
static void close_on_exec(void)
{
- int j;
+ /* Keep the mask separate to stop SDCC generating crap code */
+ uint16_t m = 1 << (UFTSIZE - 1);
+ int8_t j;
+
for (j = UFTSIZE - 1; j >= 0; --j) {
- if (udata.u_cloexec &
(1 << j)
)
+ if (udata.u_cloexec &
m
)
doclose(j);
+ m >>= 1;
}
udata.u_cloexec = 0;
}