| 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 (). |