1 |
2004-02-11 Roland McGrath <roland@frob.com> |
2 |
|
3 |
* exec.c (servercopy): Change signature to avoid casted arguments. |
4 |
Update callers. |
5 |
(do_exec, S_exec_setexecdata): Update callers. |
6 |
|
7 |
2004-02-10 Roland McGrath <roland@frob.com> |
8 |
|
9 |
* elfcore.c (dump_core): Include null terminator in note name size, |
10 |
and round up to four byte alignment. |
11 |
(dump_core: write_note): Don't round OFFSET after each partial write. |
12 |
(dump_core): Don't round up to page size before writing notes. |
13 |
Do round up to page size for offset of each PT_LOAD region. |
14 |
|
15 |
2004-01-15 Roland McGrath <roland@frob.com> |
16 |
|
17 |
* priv.h (struct execdata.info.elf): Add `execstack' flag. |
18 |
* exec.c (check_elf_phdr): Set it according to PT_GNU_STACK's PF_X |
19 |
flag bit. If no PT_GNU_STACK, default to set. |
20 |
(do_exec): If flag is clear, remove execute permission from stack. |
21 |
|
22 |
2002-09-17 Roland McGrath <roland@frob.com> |
23 |
|
24 |
* elfcore.c [i386_THREAD_STATE] (fetch_thread_regset): The two types |
25 |
are not actually identical, must rearrange some members a little. |
26 |
|
27 |
2002-06-13 Roland McGrath <roland@frob.com> |
28 |
|
29 |
* priv.h (trivfs_protid_t): Type removed (now in trivfs.h). |
30 |
|
31 |
2002-05-29 Roland McGrath <roland@frob.com> |
32 |
|
33 |
* hashexec.c (check_hashbang): Fix fs id port arg in io_identity call. |
34 |
|
35 |
* elfcore.c (dump_core): int -> size_t |
36 |
|
37 |
2002-05-10 Roland McGrath <roland@frob.com> |
38 |
|
39 |
* exec.c (prepare): Do io_stat when io_map fails as for when |
40 |
io_map_cntl fails. |
41 |
|
42 |
2002-05-01 Roland McGrath <roland@frob.com> |
43 |
|
44 |
* elfcore.c [ALPHA_THREAD_STATE] |
45 |
(ELF_MACHINE, fetch_thread_regset, fetch_thread_fpregset): |
46 |
New definitions for Alpha CPU. |
47 |
|
48 |
2002-04-27 Roland McGrath <roland@frob.com> |
49 |
|
50 |
* priv.h: Include <link.h> to get ElfW macro. |
51 |
* priv.h, exec.c, main.c, hostarch.c: Use `ElfW(TYPE)' in place |
52 |
of `Elf32_TYPE' throughout. |
53 |
|
54 |
2002-03-11 Roland McGrath <roland@frob.com> |
55 |
|
56 |
* core.c: File removed. |
57 |
* Makefile (DIST_FILES): Remove core.c from the list. |
58 |
|
59 |
* elfcore.c: New file, used by crash server (../trans) to write |
60 |
ELF core dump files. Thanks to Jon Arney <jarney1@cox.net> for |
61 |
spurring me to write this, and for helping to test and debug it. |
62 |
|
63 |
2002-01-02 Roland McGrath <roland@frob.com> |
64 |
|
65 |
* exec.c (do_exec) [KERN_INVALID_LEDGER]: |
66 |
Pass extra arguments to task_create for OSF variant. |
67 |
|
68 |
2002-01-01 Roland McGrath <roland@frob.com> |
69 |
|
70 |
* execmutations.h (SERVERCOPY): New macro. |
71 |
|
72 |
2001-12-31 Roland McGrath <roland@frob.com> |
73 |
|
74 |
* exec.c (do_exec): thread_array_t -> thread_t * |
75 |
|
76 |
2001-11-23 Roland McGrath <roland@frob.com> |
77 |
|
78 |
* gcore.c: File moved to ../utils. |
79 |
* Makefile (DIST_FILES): Remove it. |
80 |
|
81 |
2001-04-01 Neal H Walfield <neal@cs.uml.edu> |
82 |
|
83 |
* main.c (S_exec_init): Use iohelp_create_empty_iouser. |
84 |
|
85 |
2001-06-15 Roland McGrath <roland@frob.com> |
86 |
|
87 |
* exec.c (do_exec: user_fd): Add a user ref to returned port. |
88 |
|
89 |
2001-02-12 Marcus Brinkmann <marcus@gnu.org> |
90 |
|
91 |
* main.c: Change hurd version name from proc to exec. |
92 |
(main): Add period to doc string. |
93 |
|
94 |
2000-10-01 Roland McGrath <roland@frob.com> |
95 |
|
96 |
* exec.c: Comments. |
97 |
|
98 |
2000-09-24 Roland McGrath <roland@frob.com> |
99 |
|
100 |
* exec.c (map): Bail if the requested position + data size does not |
101 |
fit in the file size. |
102 |
|
103 |
2000-07-26 Mark Kettenis <kettenis@gnu.org> |
104 |
|
105 |
* Makefile (HURDLIBS): Reorder libs such that the threads lib |
106 |
comes before the ports lib. This makes sure the functions in |
107 |
libthreads properly override the stubs in libports with the new |
108 |
dynamic linker semantics in glibc 2.2. |
109 |
|
110 |
2000-07-20 Thomas Bushnell, BSG <tb@mit.edu> |
111 |
|
112 |
* hashexec.c (check_hashbang): Count characters in interp |
113 |
correctly. Fix from Kalle Olavi Niemitalo <tosi@stekt.oulu.fi>. |
114 |
|
115 |
2000-03-23 Mark Kettenis <kettenis@gnu.org> |
116 |
|
117 |
* exec.c (do_exec): Set interp.file to MACH_PORT_NULL before the |
118 |
first `goto out'. |
119 |
|
120 |
2000-03-20 Roland McGrath <roland@baalperazim.frob.com> |
121 |
|
122 |
* main.c (trivfs_allow_open): Initialize to zero. |
123 |
(trivfs_support_read, trivfs_support_write): Likewise. |
124 |
(trivfs_support_exec): Variable removed. |
125 |
|
126 |
* exectrans.c: Obsolete file removed. |
127 |
* Makefile (DIST_FILES): Remove it. |
128 |
|
129 |
2000-03-17 Roland McGrath <roland@baalperazim.frob.com> |
130 |
|
131 |
* hashexec.c (check_hashbang): Use strpbrk directly instead of strsep. |
132 |
Fix up INTERP_LEN properly in the no-argument case. |
133 |
|
134 |
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu> |
135 |
|
136 |
* main.c (S_exec_init): Don't use MOVE_SEND in Hurd RPC. |
137 |
|
138 |
2000-03-17 Roland McGrath <roland@baalperazim.frob.com> |
139 |
|
140 |
* exec.c (do_exec): Use ports_get_send_right. |
141 |
|
142 |
2000-03-13 Roland McGrath <roland@baalperazim.frob.com> |
143 |
|
144 |
* priv.h (EXECDATA_STREAM): Define this only #ifdef BFD. |
145 |
The non-BFD exec server is now completely independent of stdio magic; |
146 |
it uses only those interfaces documented in the C library manual, |
147 |
which are provided both by old GNU stdio and by GNU libio. |
148 |
Resurrecting the BFD exec server will require using magic again, |
149 |
for which libio-specific magic needs to be written. |
150 |
|
151 |
* exec.c [! EXECDATA_STREAM] (prepare_stream): Replace no-op with real |
152 |
function to initialize map_* members to zero. |
153 |
|
154 |
* priv.h (EXECDATA_STREAM): New macro, always defined for now. |
155 |
(struct execdata) [! EXECDATA_STREAM]: Add members |
156 |
map_buffer, map_bsize, map_fsize, map_filepos in place of stream. |
157 |
(map_buffer, map_filepos, map_set_fsize): New macros for accessing |
158 |
those or stream. |
159 |
[! EXECDATA_STREAM] (map_fsize, map_vsize): Define using new members. |
160 |
|
161 |
* exec.c (map): Rewritten purely using those accessor macros. |
162 |
(input_room): Set the __target, __bufp, __error, and __eof members, |
163 |
which are no longer set by map. |
164 |
[! EXECDATA_STREAM] (prepare_stream, prepare_in_memory): Make no-ops. |
165 |
(input_room, close_exec_stream, fake_seek, prepare_stream, |
166 |
prepare_in_memory): Conditionalize these defns on [EXECDATA_STREAM]. |
167 |
(load_section): Always use map instead of stdio. |
168 |
Replace bcopy with memcpy. |
169 |
(check_gzip: zipread): Rewrite using map instead of stdio. |
170 |
(check_bzip2: zipread): Likewise. |
171 |
|
172 |
* hashexec.c (check_hashbang): Fix up multiple fencepost brainos. |
173 |
|
174 |
* hashexec.c (check_hashbang): Fix fencepost error in last change. |
175 |
|
176 |
* exec.c (map): Made global. |
177 |
* priv.h: Declare it. |
178 |
(map_fsize, map_vsize): New macros for accessing state set up by map. |
179 |
* hashexec.c (check_hashbang): Use map and copying operations rather |
180 |
than stdio to extract the first line from the file. Move finish call |
181 |
to immediately after reading the line. |
182 |
|
183 |
* exec.c (map): If E->file_data is set, diagnose EOF before going to |
184 |
direct io_read. |
185 |
(prepare_in_memory): New function, broken out of check_gzip before |
186 |
last change. |
187 |
(check_gzip, check_bzip2): Use it. |
188 |
|
189 |
* exec.c (prepare_stream): New function, broken out of prepare. |
190 |
(prepare): Call it. |
191 |
[_STDIO_USES_IOSTREAM]: Do #error if this is defined. |
192 |
(map, input_room, close_exec_stream, fake_seek, prepare_stream): |
193 |
Conditionalize all these definitions on [! _STDIO_USES_IOSTREAM]. |
194 |
Only map and prepare_stream are called from elsewhere in the code. |
195 |
(check_gzip): Don't reinitialize E->stream, since it will in fact not |
196 |
be used again. |
197 |
(check_bzip2): Likewise. |
198 |
|
199 |
2000-03-09 Roland McGrath <roland@baalperazim.frob.com> |
200 |
|
201 |
* hostarch.c (elf_machine_matches_host): Don't recognize EM_486, |
202 |
since newer <elf.h>'s don't define it any more. |
203 |
|
204 |
2000-02-27 Roland McGrath <roland@baalperazim.frob.com> |
205 |
|
206 |
* hashexec.c (check_hashbang: user_fd): Add a user ref to DTABLE[FD] |
207 |
send right, because caller (hurd_file_name_lookup internals) will |
208 |
consume one. |
209 |
|
210 |
* hashexec.c (check_hashbang): When dealloc'ing DTABLE ports, |
211 |
optimize out syscall for null ports. |
212 |
|
213 |
1999-11-08 Roland McGrath <roland@baalperazim.frob.com> |
214 |
|
215 |
* exectrans.c (trivfs_support_write, trivfs_support_exec): Variables |
216 |
removed. |
217 |
(trivfs_allow_open): Set to just O_READ. |
218 |
|
219 |
1999-09-09 Roland McGrath <roland@baalperazim.frob.com> |
220 |
|
221 |
* Makefile (exec.static-LDFLAGS): Variable removed. |
222 |
|
223 |
1999-07-17 Roland McGrath <roland@baalperazim.frob.com> |
224 |
|
225 |
* exec.c (servercopy): Removed unused variable. |
226 |
|
227 |
1999-07-11 Roland McGrath <roland@baalperazim.frob.com> |
228 |
|
229 |
* exec.c (load_section): Fix typos in last change. |
230 |
|
231 |
1999-07-11 Thomas Bushnell, BSG <tb@mit.edu> |
232 |
|
233 |
* exec.c (load_section): Use mmap instead of vm_allocate when |
234 |
allocating in mach_task_self (). |
235 |
(servercopy): Likewise. |
236 |
(do_exec): Likewise. |
237 |
* hashexec.c (check_hashbang): Likewise. |
238 |
|
239 |
1999-07-10 Roland McGrath <roland@baalperazim.frob.com> |
240 |
|
241 |
* hostarch.c (mach_host_elf_machine): Replaced with ... |
242 |
(elf_machine_matches_host): New function. Instead of returning |
243 |
an ELF EM_* code, take one and check if it matches the host; |
244 |
operate only on mach_host_self(), cache results, |
245 |
Grok CPU_TYPE_{I486,PENTIUM,PENTIUMPRO} to accept EM_386 or EM_486. |
246 |
Grok POWERPC, ALPHA, HPPA types. |
247 |
* exec.c (check_elf): Call elf_machine_matches_host instead of |
248 |
comparing against elf_machine. |
249 |
(load_section): #if 0 out no-op code that uses elf_machine. |
250 |
* priv.h (elf_machine_matches_host): Declare it. |
251 |
(elf_machine, mach_host_elf_machine): Remove decls. |
252 |
* main.c (main) [!BFD]: Don't call mach_host_elf_machine. |
253 |
(elf_machine): Variable removed. |
254 |
|
255 |
* exec.c (map): Don't cast arg to munmap to vm_address_t. |
256 |
|
257 |
* priv.h: Add #include <sys/mman.h> for munmap decl. |
258 |
|
259 |
1999-07-03 Thomas Bushnell, BSG <tb@mit.edu> |
260 |
|
261 |
* core.c (core_dump_task): Use munmap instead of vm_deallocate, |
262 |
when it's from our own task. |
263 |
* elfcore.c: Likewise. |
264 |
* exec.c (load_section): Likewise. |
265 |
(map): Likewise. |
266 |
(close_exec_stream): Likewise. |
267 |
(finish_mapping): Likewise. |
268 |
(load): Likewise. |
269 |
(do_exec): Likewise. |
270 |
(S_exec_setexecdata): Likewise. |
271 |
* hashexec.c (check_hashbang): Likewise. |
272 |
* main.c (deadboot): Likewise. |
273 |
|
274 |
1999-06-04 Roland McGrath <roland@baalperazim.frob.com> |
275 |
|
276 |
* exec.c (map): Fix mapping calls to use F->__offset consistently |
277 |
instead of F->__target. |
278 |
|
279 |
1999-05-16 Roland McGrath <roland@baalperazim.frob.com> |
280 |
|
281 |
* hashexec.c (check_hashbang): Fix bug in last change. |
282 |
|
283 |
1999-05-15 Roland McGrath <roland@baalperazim.frob.com> |
284 |
|
285 |
* hashexec.c (check_hashbang): Trim trailing blanks after interpreter |
286 |
argument. |
287 |
|
288 |
1998-09-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp> |
289 |
|
290 |
* do-bunzip2.c: New file. |
291 |
* exec.c (check_bzip2): New function. |
292 |
(BZIP2): New cpp symbol. If defined, bunzip2 engine is enabled. |
293 |
* Makefile (bzip2-objects): New variable. |
294 |
(OBJS): Add bzip2-objects. |
295 |
(CPPFLAGS): Add -DBZIP2. |
296 |
|
297 |
1999-04-27 Roland McGrath <roland@baalperazim.frob.com> |
298 |
|
299 |
* exec.c (do_exec): Implement EXEC_SIGTRAP flag. |
300 |
|
301 |
1998-12-27 Roland McGrath <roland@baalperazim.frob.com> |
302 |
|
303 |
* main.c (S_exec_init): Deallocate PROCSERVER port when finished. |
304 |
|
305 |
1998-12-27 Roland McGrath <roland@baalperazim.frob.com> |
306 |
|
307 |
* main.c (S_exec_init): Remove variable DEV_MASTER; pass null instead |
308 |
since we don't need it. Use assert_perror on getting the host-priv |
309 |
port and on startup_essential_task, since init will hang until we've |
310 |
done made that RPC. |
311 |
|
312 |
1998-12-26 Roland McGrath <roland@baalperazim.frob.com> |
313 |
|
314 |
* exec.c (do_exec): Fix conditional for cleaning up INTERP, |
315 |
from nonnull E.interp.section to nonnull INTERP.file. |
316 |
If we failed to open the interpreter file, INTERP.file will be |
317 |
null and the rest of INTERP will be uninitialized. |
318 |
|
319 |
1998-12-21 Roland McGrath <roland@baalperazim.frob.com> |
320 |
|
321 |
* main.c (S_exec_init): Don't call set_active_trans. |
322 |
(set_active_trans): Function removed. |
323 |
|
324 |
* Makefile (HURDLIBS): Add missing implied library deps. |
325 |
|
326 |
1998-11-25 Mark Kettenis <kettenis@phys.uva.nl> |
327 |
|
328 |
* main.c (S_exec_init): Call _hurd_proc_init with new args set to |
329 |
zero. |
330 |
|
331 |
* hashexec.c (check_hashbang): Fix typo: interplen -> interp_len. |
332 |
|
333 |
Thu Nov 5 15:26:50 1998 Thomas Bushnell, BSG <tb@mit.edu> |
334 |
|
335 |
* hashexec.c (check_hashbang): Keep INTERP_LEN with the correct |
336 |
value (bytes of memory holding INTERP) for later use. |
337 |
(check_hashbang: setup_args): Set argv[0] from the interpreter |
338 |
name, not copied from the existing command line. |
339 |
|
340 |
1998-10-26 Roland McGrath <roland@baalperazim.frob.com> |
341 |
|
342 |
* hashexec.c: Use mach_* instead of __mach_*. |
343 |
|
344 |
1998-07-15 Roland McGrath <roland@baalperazim.frob.com> |
345 |
|
346 |
* exec.c (do_exec): Set boot->phdr_addr and boot->user_entry after |
347 |
loading, to addresses adjusted for actual run-time load address. |
348 |
|
349 |
Wed Aug 20 14:02:11 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
350 |
|
351 |
* main.c (main): New args for |
352 |
ports_manage_port_operations_multithread. |
353 |
|
354 |
1997-06-30 Miles Bader <miles@gnu.ai.mit.edu> |
355 |
|
356 |
* main.c (main): Arg parsing added. |
357 |
(argp_program_version): New variable. |
358 |
Include <argp.h>. |
359 |
|
360 |
Mon Jan 20 16:16:33 1997 Miles Bader <miles@gnu.ai.mit.edu> |
361 |
|
362 |
* hashexec.c (check_hashbang): `preempter' -> `preemptor'. |
363 |
|
364 |
Sat Nov 23 16:26:55 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
365 |
|
366 |
* priv.h (mach_host_elf_machine): New prototype. |
367 |
* hostarch.c: Include "priv.h". |
368 |
|
369 |
Mon Nov 18 17:45:48 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
370 |
|
371 |
* exec.c (load_section): If ANYWHERE, then make sure ADDR starts |
372 |
out at least past the first page, so that we don't take it. Then |
373 |
the library can (if desired) make the page no-access. |
374 |
|
375 |
Fri Nov 15 17:34:23 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
376 |
|
377 |
* exec.c: Don't include <hurd/shared.h> any more. |
378 |
|
379 |
* main.c (S_exec_init): New arg syntax of trivfs_open. |
380 |
|
381 |
Mon Oct 7 21:31:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
382 |
|
383 |
* exec.c (fake_seek): New function. |
384 |
(prepare): Initialize E->stream.__io_funcs.seek to fake_seek; this |
385 |
is called now that stdio doesn't assume it always knows the file |
386 |
position. |
387 |
|
388 |
Thu Sep 12 16:30:12 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
389 |
|
390 |
* Makefile (HURDLIBS): New variable. |
391 |
(exec): Delete special dependencies. |
392 |
|
393 |
Thu Sep 5 11:11:19 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
394 |
|
395 |
* main.c: Include <version.h>. |
396 |
(exec_version): Delete variable. |
397 |
(S_exec_init): Pass empty string as release; HURD_VERSION |
398 |
as version. |
399 |
|
400 |
Thu Aug 29 13:00:38 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> |
401 |
|
402 |
* priv.h: Only include <bfd.h> if BFD. Only declare |
403 |
host_bfd_arc_info, and bfd_host_bfd if BFD. If not BFD, give |
404 |
typedef for asection. |
405 |
* main.c: Only define host_bfd_arch_info, host_bfd, and |
406 |
bfd_mach_host_arch_mach if BFD. |
407 |
(main): Only call bfd_mach_most_arch_mach if BFD. |
408 |
Call mach_host_elf_machine. |
409 |
* hostarch.c (bfd_mach_host_arch_mach): Only define if BFD. |
410 |
Delete arg E_MACHINE. All callers changed. |
411 |
(mach_host_elf_machine): New function. |
412 |
|
413 |
Sun Jul 7 21:13:22 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
414 |
|
415 |
* exec.c (S_exec_exec): Don't use unsafe MOVE_SEND in call to |
416 |
interruptible exec_exec stub. |
417 |
|
418 |
Mon Jul 1 16:08:03 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
419 |
|
420 |
* Makefile (DIST_FILES): Removed crash.c. |
421 |
* crash.c: Moved to ../trans. |
422 |
|
423 |
Thu Jun 20 15:43:51 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
424 |
|
425 |
* Makefile (exec): Link against fshelp too now. |
426 |
|
427 |
* exec.c (do_exec): Call proc_setowner *after* possible |
428 |
proc_reassign; otherwise it modifies the stub process's state and |
429 |
not the real process's. |
430 |
|
431 |
Wed Jun 19 14:08:15 1996 Miles Bader <miles@gnu.ai.mit.edu> |
432 |
|
433 |
* exec.c (do_exec, S_exec_exec): Pass 0 for new LOOKUP arg to |
434 |
hurd_file_name_lookup. |
435 |
* hashexec.c (hurd_file_name_path_lookup): Declaration removed. |
436 |
(check_hashbang): Pass 0 for new LOOKUP arg to hurd_file_name_lookup. |
437 |
|
438 |
Wed Jun 12 21:17:33 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
439 |
|
440 |
* gzip.h (basename): Comment out declaration; it conflicts with |
441 |
libc's. |
442 |
|
443 |
* exec.c (do_exec): If secure, set the owner with proc_setowner. |
444 |
|
445 |
Fri May 10 16:47:11 1996 Miles Bader <miles@gnu.ai.mit.edu> |
446 |
|
447 |
* hashexec.c (search_path): Don't make PATH or PFXED_NAME const. |
448 |
|
449 |
Fri May 10 09:20:26 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
450 |
|
451 |
* exec.c (do_exec) [use1]: Use new auth_user_authenticate interface. |
452 |
* hashexec.c (check_hashbang) [userport/reauthenticate]: Likewise. |
453 |
|
454 |
* hashexec.c (check_hashbang) [setup_args/search_path]: Declare |
455 |
PATH to be `char const *'. |
456 |
|
457 |
Tue May 7 16:24:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
458 |
|
459 |
* hashexec.c (check_hashbang): Use io_identity instead of io_stat to |
460 |
compare files. |
461 |
|
462 |
Mon May 6 14:26:41 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
463 |
|
464 |
* main.c (exec_version): Upgrade to 0.0. |
465 |
|
466 |
Fri May 3 14:16:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
467 |
|
468 |
* exec.c (map): Use F->__offset and F->__target properly. |
469 |
|
470 |
Thu May 2 10:21:37 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
471 |
|
472 |
* exec.c (map): Fix fencepost error in check of current mapping |
473 |
window. Request round_page (LEN) bytes in io_read to avoid many small |
474 |
reads. |
475 |
|
476 |
* exec.c (do_exec): Terminate OLDTASK if we get an error after killing |
477 |
its threads and deallocating its address space. |
478 |
|
479 |
Tue Apr 30 11:36:25 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
480 |
|
481 |
* exec.c (check_gzip) [ziprderr]: Treat all read errors as |
482 |
ENOEXEC. First off, because that's what they are; also because |
483 |
some callers of read_error don't set errno at all. |
484 |
|
485 |
Mon Apr 29 15:11:55 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
486 |
|
487 |
* exec.c (check_section): If the format makes no sense, return |
488 |
ENOEXEC, not EINVAL. |
489 |
(check_bfd): Likewise. |
490 |
(check_elf): Likewise. |
491 |
(check_elf_phdr): Likewise. |
492 |
(do_exec): Likewise. |
493 |
|
494 |
* exec.c (do_exec): Use correct args to ports_create_port. |
495 |
|
496 |
Sat Apr 27 06:02:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
497 |
|
498 |
* crash.c: Use ports_create_port instead of ports_allocate_port, and |
499 |
notice the error. |
500 |
* exec.c: Likewise. |
501 |
|
502 |
Tue Apr 23 18:53:54 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
503 |
|
504 |
* hashexec.c (check_hashbang: user_port): Use default root port when |
505 |
secure. |
506 |
|
507 |
Mon Apr 15 12:48:35 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
508 |
|
509 |
* Makefile (DIST_FILES): Add elfcore.c, crash.c, and exectrans.c. |
510 |
(SRCS): That's hashexec.c, not .o. |
511 |
|
512 |
* Makefile (exec-MIGSFLAGS): Look for execmutations.h in |
513 |
$(srcdir). |
514 |
|
515 |
Mon Apr 8 15:49:39 1996 Miles Bader <miles@gnu.ai.mit.edu> |
516 |
|
517 |
* exec.c (prepare): If io_map returns EOPNOTSUPP, suppress the |
518 |
error, and still setup E's stream. |
519 |
(prepare_and_check): If prepare returns an error, do no more. |
520 |
|
521 |
Thu Mar 28 14:06:07 1996 Miles Bader <miles@gnu.ai.mit.edu> |
522 |
|
523 |
* hashexec.c (check_hashbang): Pass open flags & mode args to |
524 |
hurd_file_name_path_lookup. |
525 |
|
526 |
Mon Feb 26 16:33:22 1996 Miles Bader <miles@gnu.ai.mit.edu> |
527 |
|
528 |
* hashexec.c (check_hashbang): Correctly deal with interpreter |
529 |
lines having no argument. |
530 |
|
531 |
Sat Jan 13 12:28:03 1996 Miles Bader <miles@gnu.ai.mit.edu> |
532 |
|
533 |
* hashexec.c (check_hashbang): Use hash_file_name_path_lookup() |
534 |
instead of doing the path search ourselves, and get rid of |
535 |
LOOKUP_CWDIR & associated logic. |
536 |
* exec.c (S_exec_exec): Use strdupa(). Also update use of |
537 |
hurd_file_name_lookup() [still probably not right though]. |
538 |
|
539 |
Thu Jan 11 15:36:18 1996 Miles Bader <miles@gnu.ai.mit.edu> |
540 |
|
541 |
* hashexec.c (check_hashbang): When using executable name found on |
542 |
the path, don't return alloca()ed memory from search_path(); use |
543 |
malloc() instead. |
544 |
Use envz_get() to search the environment. |
545 |
|
546 |
* exec.c (S_exec_exec): Use envz_get() to search the environment. |
547 |
|
548 |
Thu Jan 4 11:30:15 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
549 |
|
550 |
* exec.c (safe_bzero): Rewritten using hurd_catch_signal. |
551 |
* hashexec.c (check_hashbang): Rearrange arg frobbing code |
552 |
somewhat to use hurd_catch_signal instead of old preemption interface. |
553 |
|
554 |
Fri Dec 29 15:54:06 1995 Miles Bader <miles@gnu.ai.mit.edu> |
555 |
|
556 |
* exec.c (do_exec): Be careful not to look at BOOT after we |
557 |
release our reference on it. |
558 |
Correctly initialize BOOT->intarray in the case where NINTS < |
559 |
INIT_INT_MAX but we don't alloc a new array. |
560 |
|
561 |
Fri Dec 15 01:53:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
562 |
|
563 |
* exec.c (map): Rearrange code to fix some bugs and not remap |
564 |
unless necessary. |
565 |
(input_room): Simplify. |
566 |
(check_elf): Extract all information from file header before |
567 |
calling `map' for program headers. |
568 |
|
569 |
Sat Nov 25 22:10:41 1995 Miles Bader <miles@gnu.ai.mit.edu> |
570 |
|
571 |
* crash.c (S_msg_sig_post_untraced): Also let the debugger have |
572 |
the process back if it's posting the crashing signal. |
573 |
|
574 |
Tue Nov 21 15:01:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
575 |
|
576 |
* exec.c (safe_bzero): New function, broken out of load_section. |
577 |
(load_section): Call it. |
578 |
|
579 |
* main.c (going_down): Variable removed. |
580 |
(deadboot): Don't test it. Instead, use ports calls to check if |
581 |
there are no other live ports. |
582 |
(trivfs_goaway): Don't set it. |
583 |
|
584 |
Wed Nov 15 19:40:44 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
585 |
|
586 |
* hashexec.c (user_port): Fixed port selection logic. |
587 |
(check_hashbang): Fixed PATH searching in script name guessing. |
588 |
|
589 |
Mon Nov 13 15:11:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
590 |
|
591 |
* exec.c (S_exec_startup): Compatibility RPC removed. |
592 |
|
593 |
* exec.c (load_section): Catch faults while zeroing partial bss page. |
594 |
|
595 |
Sun Nov 5 00:15:07 1995 Miles Bader <miles@gnu.ai.mit.edu> |
596 |
|
597 |
* main.c (main): Add flags arg to trivfs_startup call. |
598 |
|
599 |
Wed Oct 25 15:50:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
600 |
|
601 |
* exec.c (S_exec_startup_get_info): New function, modified from |
602 |
S_exec_startup. |
603 |
(S_exec_startup): Just call it. |
604 |
* main.c (exec_demuxer): Call exec_startup_server. |
605 |
|
606 |
Tue Oct 24 19:21:20 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
607 |
|
608 |
* Makefile (OBJS): Add exec_startupServer.o. |
609 |
|
610 |
* priv.h (struct bootinfo): Use vm_size_t for phdr_size. |
611 |
|
612 |
Wed Oct 18 18:36:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
613 |
|
614 |
* hashexec.c (check_hashbang: prepare_args): Enable and clean up |
615 |
code to guess the name of the script before resorting to /dev/fd. |
616 |
|
617 |
Wed Oct 18 03:05:05 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
618 |
|
619 |
* hashexec.c: New file. |
620 |
* exec.c (struct execdata): Moved to priv.h. |
621 |
(std_*, finish): Make global. |
622 |
(do_exec): Only reset CWDIR when null, even if secure. |
623 |
Actually call check_hashbang and return success if it does. |
624 |
Use new hurd_file_name_lookup protocol with private callbacks to open |
625 |
interpreter file on behalf of client. |
626 |
Remove `bootout' label; use `stdout' or `out' as appropriate instead. |
627 |
At `out' label always deref BOOT, which cleans it up iff necessary. |
628 |
(S_exec_exec): #if 0 out $EXECSERVERS processing for time being. |
629 |
* priv.h: Added some #includes. |
630 |
(struct execdata): Moved here from exec.c. |
631 |
(std_*): Declare these. |
632 |
(finish, check_hashbang): Declare them. |
633 |
* Makefile (SRCS, OBJS): Add hashexec.[co]. |
634 |
(DIST_FILES): Remove it from here. |
635 |
|
636 |
Wed Oct 11 01:45:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
637 |
|
638 |
* main.c, priv.h, execmutations.h: New files. |
639 |
* exec.c: Server mechanics removed; now uses libtrivfs/libports. |
640 |
Main program split out into main.c. |
641 |
(std_lock): New variable (rwlock). |
642 |
(do_exec): Acquire reader lock to access std_ints and std_ports. |
643 |
(S_exec_setexecdata): Acquire writer lock to change them. |
644 |
* Makefile (OBJS): Add main.o; remove fsysServer.o, notifyServer.o. |
645 |
(LCLHDRS): Add priv.h and execmutations.h. |
646 |
(exec-MIGSFLAGS): New variable. |
647 |
(exec): Depend on livtrivfs, libthreads, libshouldbeinlibc. |
648 |
|
649 |
Mon Oct 2 10:33:14 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> |
650 |
|
651 |
* exec.c (do_exec): Doc fix. |
652 |
|
653 |
Wed Sep 27 11:21:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
654 |
|
655 |
* exec.c (do_exec): Don't set NEWTASK's bootstrap port until after |
656 |
we have finished completely with OLDTASK. |
657 |
(do_mach_notify_no_senders): Remove bogus mod_refs call on |
658 |
receive_portset. |
659 |
|
660 |
Wed Sep 20 19:57:55 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
661 |
|
662 |
* exec.c (struct bootinfo): New members `phdr_addr', `phdr_size', |
663 |
`user_entry'. |
664 |
(do_exec): Set them. Code rearranged to construct bootinfo before |
665 |
looking up interpreter file, keep proper track of port rights and |
666 |
VM copied into bootinfo (there were leaks). |
667 |
|
668 |
Sat Sep 16 13:15:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
669 |
|
670 |
* Makefile: Remove vpath directive. |
671 |
|
672 |
Fri Sep 8 17:50:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
673 |
|
674 |
* Makefile (OTHERLIBS, CPPFLAGS): Disable bfd by default. |
675 |
|
676 |
Mon Aug 28 16:57:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
677 |
|
678 |
* exec.c (S_fsys_forward): New stub function. |
679 |
|
680 |
Sun Jul 30 23:49:49 1995 Michael I. Bushnell, p/BSG <mib@geech.gnu.ai.mit.edu> |
681 |
* Makefile (SRCS): Added unzip.c, util.c, and inflate.c. |
682 |
|
683 |
Thu Jul 6 15:32:39 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> |
684 |
|
685 |
* hostarch.c (bfd_mach_host_arch_mach): Remove assignment from |
686 |
inside if test. |
687 |
|
688 |
* Makefile: Removed dependencies that are now automatically |
689 |
generated. |
690 |
|
691 |
Wed Jul 5 18:00:49 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> |
692 |
|
693 |
* Makefile (OTHERLIBS): Define var. |
694 |
(all, exec): Delete targets. |
695 |
|
696 |
Tue Jun 27 11:48:08 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> |
697 |
|
698 |
* exec.c (load_section): Remove assignments from if tests. |
699 |
(map): Likewise. |
700 |
(prepare): Likewise. |
701 |
(load): Likewise. |
702 |
(servercopy): Likewise. |
703 |
(do_exec): Likewise. |
704 |
(S_exec_setexecdata): Likewise. |
705 |
(S_exec_exec): Put extra parens around assignment inside while |
706 |
test. |
707 |
|
708 |
Thu Jun 8 02:57:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
709 |
|
710 |
* exec.c (struct execdata.info.elf): Add members `anywhere' and |
711 |
`loadbase'. |
712 |
(load_section): Use them; if `anywhere' set, load the section anywhere. |
713 |
Record load address in `loadbase'. |
714 |
(check_elf): Initialize `anywhere' and `loadbase'. |
715 |
(postload): Merged into load. |
716 |
(load): Perform postload functionality here, after calling |
717 |
finish_mapping. |
718 |
(finish): Take new flag arg; deallocate file port only if set. |
719 |
(do_exec): Pass flag to finish appropriately. |
720 |
Don't call finish_mapping and postload after load. KLUDGE: Load |
721 |
the interpreter before the program instead of after. |
722 |
|
723 |
Mon Jun 5 06:42:33 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
724 |
|
725 |
* exec.c: Majorly revamped: Now supports the ELF format directly. |
726 |
Secondarily uses the BFD library #ifdef BFD. Supports gunzipping |
727 |
only #ifdef GZIP. |
728 |
* hostarch.c: Rewritten to unconditionally return both BFD and ELF |
729 |
machine types. |
730 |
|
731 |
Fri May 12 18:59:21 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> |
732 |
|
733 |
* exec.c (S_fsys_set_options, S_fsys_mod_readonly): Change from |
734 |
mod_readonly to set_options. |
735 |
|
736 |
Thu Apr 20 22:14:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
737 |
|
738 |
* exec.c (check_gzip): Rewind the stream before calling |
739 |
`get_method'. Open a new BFD on the uncompressed data stream |
740 |
before return. |
741 |
|
742 |
Sun Apr 9 01:27:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
743 |
|
744 |
* exec.c (struct execdata) [BFD]: New member `interp_section'. |
745 |
(check_section): Notice section named ".interp" and set that pointer. |
746 |
(load_section): Do nothing if the section is zero size. |
747 |
When reading into our copy of the overlap page, don't read past |
748 |
the end of the section. |
749 |
(do_exec): Consolidate new subfunction `check_maybe_gzip'. |
750 |
If there is an interpreter section, load the interpreter file too, |
751 |
and use its entry point instead of the user program's. Cleaned up |
752 |
and made more robust deallocation of BOOT info on error. |
753 |
(deadboot): New function, split out of do_mach_port_notify_no_senders. |
754 |
|
755 |
* Makefile (vpath lib%.a): Add search path. |
756 |
(exec): Depend on -lbfd and -liberty. |
757 |
(CPPFLAGS): Append -DBFD; omit -DA_OUT_H=... |
758 |
(bfdexec): Target removed. |
759 |
* exec.c (load_section): fseek to desired position before freading. |
760 |
(input_room): Always map a page-aligned region. |
761 |
|
762 |
Thu Feb 9 01:01:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
763 |
|
764 |
* exec.c (check_section): Don't check SEC_RELOC flag. |
765 |
|
766 |
Wed Feb 8 19:48:11 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> |
767 |
|
768 |
* exec.c (load_section) [BFD]: BFD does not set SEC_HAS_CONTENTS |
769 |
on a.out BSS's ever; don't make zeroing of bss conditional on that. |
770 |
It's not clear exactly what SEC_HAS_CONTENTS is for anyhow; |
771 |
perhaps the Right Thing is to set in on BSS. In any case, don't |
772 |
depend on this flag here. |
773 |
|
774 |
Sat Jan 28 17:08:02 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
775 |
|
776 |
* exec.c (prepare): Give the stream a seek function. |
777 |
|
778 |
Sun Jan 22 03:16:17 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
779 |
|
780 |
* exec.c: Update BFD code; it works now. |
781 |
* hostarch.c [BFD]: Fix prototype. |
782 |
|
783 |
Thu Jan 19 01:24:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
784 |
|
785 |
* hostarch.c: Add case for CPU_TYPE_ALPHA. |
786 |
|
787 |
* hostarch.c (bfd_mach_host_arch_mach, aout_mach_host_machine): |
788 |
Use mach_msg_type_number_t instead of unsigned int. Cast |
789 |
&HOSTINFO to (natural_t *). |
790 |
|
791 |
Sun Jan 15 06:29:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
792 |
|
793 |
* exec.c [BFD] (bfd_mach_host_arch_mach): In decl, MACHINE arg is |
794 |
`long int *' now. |
795 |
[BFD] (host_bfd_arch_info): New variable. |
796 |
[BFD] (host_bfd): Initialize `arch_info' member to its address. |
797 |
(check) [BFD]: Use bfd_arch_get_compatible properly, rather than the |
798 |
nonexistent bfd_arch_compatible. |
799 |
(main) [BFD]: Fill in host_bfd.arch_info instead of old |
800 |
`obj_machine' and `obj_archiecture' members, which BFD no longer has. |
801 |
* hostarch.c [BFD] (bfd_mach_host_arch_mach): MACHINE arg is `long |
802 |
int *' now. |
803 |
|
804 |
Tue Dec 13 23:28:08 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
805 |
|
806 |
* Makefile (OBJS): Add unzip.o util.o inflate.o. |
807 |
(LCLHDRS): Add gzip.h crypt.h tailor.h. |
808 |
(unzip.o util.o inflate.o): Depend on those. |
809 |
(CFLAGS): Use +=. |
810 |
* inflate.c, unzip.c, util.c, tailor.h, gzip.h, crypt.h: New files. |
811 |
|
812 |
Sun Dec 11 19:49:01 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
813 |
|
814 |
* exec.c (struct execdata): New members `headbuf', `file_data', |
815 |
`optimal_block'. |
816 |
(load_section): Copy data from U->file_data if that is nonnull. |
817 |
Use new subfunction `write_to_task' that handles non-page aligned |
818 |
sections. |
819 |
(input_room): Fix EOF check. |
820 |
Use io_read if no memory object. |
821 |
(prepare): New function, broken out of check. |
822 |
Initialize E->file_data and E->optimal_block. Set |
823 |
E->stream.__seen bit. |
824 |
(check): No longer take FILE arg. |
825 |
Use E->file_data if nonnull; else read from stream if no memory object. |
826 |
(finish_mapping): Reset members after deallocating resources. |
827 |
(finish): Likewise. Call fclose. Don't deallocate E->header if |
828 |
it points to &E->headbuf or E->file_data. |
829 |
(check_gzip): New function, implements executing gzip'd binaries. |
830 |
(do_exec): Call prepare before check. |
831 |
Call check_gzip if file format unrecognized. |
832 |
|
833 |
Wed Nov 9 01:40:28 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
834 |
|
835 |
* exec.c (set_active_trans): Don't deallocate EXECNODE here to |
836 |
work around a ufs bug. |
837 |
|
838 |
* exec.c: Include <hurd/paths.h> and <fcntl.h>. |
839 |
(set_active_trans): New function. |
840 |
(S_exec_init): Call set_active_trans. |
841 |
|
842 |
Wed Aug 31 11:16:04 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
843 |
|
844 |
* exec.c (load_section): Pass address of stream in call to fread. |
845 |
(input_room): Cast second arg to vm_deallocate. Dereference F |
846 |
in setting __error member. |
847 |
(close_exec_stream): Provide all three args to vm_deallocate |
848 |
and cast the second one properly. |
849 |
|
850 |
Wed Aug 31 04:32:26 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
851 |
|
852 |
* exec.c (do_exec): Do check before task_suspend. |
853 |
#if 0'd out: If check gets ENOEXEC, call check_hashbang. |
854 |
(struct execdata): Move member `stream' outside of [BFD]. |
855 |
(load_section): Use fread instead of hand mapping and copying |
856 |
unconditionally (was [BFD]); old code left #if'd out. |
857 |
(close_exec_stream): Renamed from close_stdio_bfd; moved out of [BFD]. |
858 |
(input_room): Define unconditionally, not [BFD]. |
859 |
(check): Set up E->stream unconditionally. |
860 |
|
861 |
Tue Aug 30 11:58:27 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
862 |
|
863 |
* exec.c (S_fsys_syncfs, S_fsys_mod_readonly): New stubs. |
864 |
|
865 |
* exec.c (set_init_port): Use new authentication protocol. |
866 |
|
867 |
* exec.c (S_exec_exec): Call hurd_file_name_lookup instead |
868 |
of hurd_path_lookup. |
869 |
|
870 |
* exec.c (S_fsys_getroot): Return FS_RETRY_NORMAL instead |
871 |
of FS_RETRY_NONE. |
872 |
|
873 |
* exec.c (procserver): New global variable. |
874 |
(S_exec_init): Set procserver. |
875 |
(do_exec): Use `procserver' instead of USEPORT macro. |
876 |
(S_exec_init): Likewise. |
877 |
|
878 |
Mon Aug 29 13:08:44 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
879 |
|
880 |
* exec.c (do_exec): Enable and fix up code for doing proc_reassign |
881 |
in the EXEC_NEWTASK case. |
882 |
(do_exec): If we don't provide the proc port, and this is a |
883 |
newtask exec, then use the proc port to fetch a new one |
884 |
corresponding to the new task. |
885 |
|
886 |
Wed Aug 17 14:59:58 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
887 |
|
888 |
* exec.c (S_exec_exec): Bother to pass flags to do_exec. |
889 |
|
890 |
* exec.c (essentialstartupport, essentialhostport): Deleted vars. |
891 |
(S_exec_init): Do startup_essential_task here like before, but |
892 |
make sure we do it last. |
893 |
(S_exec_setexecdata): Don't do startup_essential_task here. |
894 |
|
895 |
Tue Aug 16 10:02:50 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
896 |
|
897 |
* exec.c (set_init_port): Don't assume that MACH_PORT_NULL == 0. |
898 |
(do_exec): Likewise. |
899 |
|
900 |
Mon Aug 15 21:23:13 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
901 |
|
902 |
* exec.c: Include <unistd.h> for getpid decl. |
903 |
(set_init_port): Use pid_t for PID. |
904 |
(S_exec_init): Pass poly arg to proc_execdata_notify. |
905 |
|
906 |
Mon Aug 15 15:24:45 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
907 |
|
908 |
* exec.c (do_exec): Finish implementing EXEC_SECURE flag; |
909 |
implement EXEC_DEFAULTS flag. |
910 |
(S_exec_init): Delay startup_essential_task until after |
911 |
we've received the first essential ports from the proc server. |
912 |
(essentialstartupport essentialhostport): New global vars. |
913 |
|
914 |
Fri Jul 22 10:21:30 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> |
915 |
|
916 |
* Makefile: Rewritten in accord with new scheme. |
917 |
* exec.c: Include "exec_S.h" instead of "exec_server.h". |
918 |
Include "notify_S.h". |
919 |
|
920 |
Tue Jul 19 20:51:58 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
921 |
|
922 |
* Makefile (exec_server.h execServer.c, fsys_S.h fsysServer.c): |
923 |
Find .defs file in ../hurd, not $(includedir). |
924 |
|
925 |
Tue Jul 19 12:42:32 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) |
926 |
|
927 |
* exec.c (S_fsys_getroot): New arg `dotdot'; don't do anything |
928 |
with it. |
929 |
(S_fsys_startup): Removed dotdot args. |
930 |
(main): Deleted var `dotdot'; don't expect it from fsys_startup. |
931 |
|
932 |
* Makefile (exec): Don't use variable $(link) anymore. |
933 |
|
934 |
Tue Jul 5 14:20:15 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) |
935 |
|
936 |
* Makefile (SRCS, TAGSHDRS): New variables. |
937 |
|
938 |
Fri Jun 24 14:42:59 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) |
939 |
|
940 |
* exec.c (load_section) [AOUT, mapstart > addr]: Dereference |
941 |
U->header in use of N_MAGIC. |
942 |
|
943 |
Fri Jun 24 02:40:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
944 |
|
945 |
* exec.c (load_section): Store protection of section in new local |
946 |
VM_PROT. If vm_write of overlap page gets KERN_PROTECTION_FAILURE, |
947 |
change protection of overlap page long enough to write it. |
948 |
[AOUT]: Return ENOEXEC if there is overlap in NMAGIC or ZMAGIC. |
949 |
|
950 |
Thu Jun 16 16:15:17 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) |
951 |
|
952 |
* exec.c (S_fsys_getroot): Implement new fsys_getroot interface. |
953 |
|
954 |
Mon Jun 13 04:06:24 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) |
955 |
|
956 |
* exec.c (check): Store FILE in E->file. |
957 |
|
958 |
Tue May 31 17:20:24 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) |
959 |
|
960 |
* a.out.h (struct exec): Type removed. |
961 |
(OMAGIC, NMAGIC, ZMAGIC, N_MAGIC, N_MACHTYPE, N_BADMAG): Macros |
962 |
removed. Just #include "a.out.gnu.h" to get all these defined. |
963 |
(N_TXTLEN, N_TXTOFF): Use N_MAGIC instead of a_magic member. |
964 |
|
965 |
* Makefile (DIST_FILES): Add a.out.gnu.h. |
966 |
(exec.o, hostarch.o): Depend on a.out.gnu.h. |
967 |
|
968 |
Fri May 27 01:40:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
969 |
|
970 |
* exec.c (servercopy): New function to check the servercopy flag |
971 |
and possibly vm_allocate a copy of argument data. |
972 |
(do_exec): Take new args DTABLE_COPY, PORTARRAY_COPY, |
973 |
INTARRAY_COPY. Use servercopy for ARGV, ENVP, DTABLE, PORTARRAY, |
974 |
and INTARRAY. |
975 |
(S_exec_exec): Take those new args and pass them to do_exec. |
976 |
(S_exec_setexecdata): Take new args PORTS_COPY and INTS_COPY. |
977 |
Use servercopy for PORTS and INTS. |
978 |
(S_exec_startup): Never copy from info in *BOOT, always just set |
979 |
the argument pointers to the pointers in *BOOT. MiG will copy and |
980 |
deallocate the space as necessary. |
981 |
|
982 |
* exec.c (check): Lock and unlock E->cntl->lock properly. |
983 |
(finish_mapping): New function, broken out of finish. |
984 |
(postload_section): New function, broken out of load_section. |
985 |
(postload): New function, like load but calls postload_section. |
986 |
(do_exec): Call finish_mapping and postload between load and finish. |
987 |
|
988 |
Tue May 24 19:49:16 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
989 |
|
990 |
* exec.c (S_exec_exec): Use strsep instead of strtok. |
991 |
(main): Keep looping after error from mach_msg_server. |
992 |
|
993 |
Tue May 24 14:22:16 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) |
994 |
|
995 |
* exec.c (load_section): Cast arg to vm_deallocate properly. |
996 |
|
997 |
Tue May 24 01:05:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
998 |
|
999 |
* exec.c (struct bootinfo): Remove members argv_vmalloc, envp_vmalloc. |
1000 |
(do_exec): Don't set BOOT->argv_vmalloc or BOOT->envp_vmalloc. If |
1001 |
ARGV_COPY is set, vm_allocate space for ARGV; likewise for |
1002 |
ENVP_COPY and ENVP. |
1003 |
(S_exec_startup): Don't test BOOT->argv_vmalloc and |
1004 |
BOOT->envp_vmalloc; BOOT->argv and BOOT->envp are always vm_allocate'd. |
1005 |
(do_mach_notify_no_senders): Likewise. |
1006 |
(load_section): Handle non-bss sections that are not page aligned. |
1007 |
|
1008 |
Mon May 23 22:01:11 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
1009 |
|
1010 |
* exec.c (S_exec_exec): Reverse args to memmem. |
1011 |
(do_exec): Don't vm_deallocate DEALLOCNAMES or DESTROYNAMES; mig |
1012 |
deallocates the space for us. |
1013 |
|
1014 |
Tue May 17 13:33:41 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) |
1015 |
|
1016 |
* exec.c (S_exec_init): Don't deallocate host_priv until after |
1017 |
we've used it in the call to startup_essential_task. |
1018 |
|
1019 |
Thu May 12 03:53:57 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
1020 |
|
1021 |
* exec.c (S_fsys_init): Add reply port args. |
1022 |
|
1023 |
Wed May 11 16:03:07 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) |
1024 |
|
1025 |
* exec.c (S_exec_init): Spelling fix. |
1026 |
|
1027 |
* Makefile (exec.o): Add dependencies on fsys_S.h and notify_S.h. |
1028 |
(fsysServer.c, notifyServer.c): Notice that these rules build |
1029 |
fsys_S.h and notify_S.h respectively. |
1030 |
|
1031 |
Mon May 9 17:06:52 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) |
1032 |
|
1033 |
* exec.c (exec_version, save_argv): New variable. |
1034 |
(main): Set save_argv. |
1035 |
(S_exec_init): Give the real argv to proc. |
1036 |
Call proc_register_version if we can. |
1037 |
(S_exec_init): Call startup_essential_task if we can. |
1038 |
|
1039 |
Thu May 5 06:25:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
1040 |
|
1041 |
* Makefile: Change uses of $(headers) to $(includedir). |
1042 |
|
1043 |
* exec.c: Change return type of all RPC server functions to |
1044 |
kern_return_t. error_t is not compatible with the declarations in |
1045 |
the mig-generated header files. |
1046 |
|
1047 |
* exec.c (do_exec): Set BOOT->stack_base and BOOT->stack_size with |
1048 |
mach_setup_thread. |
1049 |
(S_exec_exec): Pass msg type arg for FILE arg to exec_exec. |
1050 |
|
1051 |
Thu Dec 23 18:05:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
1052 |
|
1053 |
* exec.c (do_exec): For a newtask exec when EXEC_SECURE is not set |
1054 |
and OLDTASK is not null, send the `task_create' RPC on OLDTASK |
1055 |
rather than mach_task_self (). |