forked from trofi/ski
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.2007
764 lines (537 loc) · 26.3 KB
/
ChangeLog.2007
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
2007-08-23 Al Stone <ahs3@debian.org>
* debian/: removed. Debian packaging will be kept separately.
* src/linux/syscall-linux.c: from Peter Chubb -- on AMD64, pointers
are 64-bits, and ints are 32-bit. This means that variadic functions
like execlp() must specify the NULL at the end of the list of arguments
as NULL not zero. Without this, the rest of the 64-bit pointer is
garbage, and can result in segfaults. Fixed execlp() usage in
initConsole().
* src/: from Ian Wienand -- various changes and additions to
get a GTK interface working.
* src/linux/syscall-linux.c: from David Mosberger -- repair problem
with user-level simulation and newer glibc's so ski will run code
again.
2007-08-12 Al Stone <ahs3@debian.org>
* Incorporated several changes from Peter Chubb that allow the
package to compile properly.
* src/memory.c: trivial patch to silence output about unaligned
copies (David Mosberger)
* release 1.1.3-gplv2 to SourceForge
2007-08-10 Ian Wienand <ianw@gelato.unsw.edu.au>
* Makefile.am: remove testsuite for now, add misc/*
* testsuite/Makefile: fix for make dist anyway
* macros/Makefile.am: remove reference to libtool.m4
* libltdl/*: regenerate with up-to-date tools
* aclocal.m4: remove (autogenerated)
* docs/ski.man: move to ski.1
* docs/ski-manual-v1.0.pdf: uudecode
* docs/Makefile.am: add above manual to dist, install man page in 1
2007-04-19 Al Stone <ahs3@fc.hp.com>
* many files: cleaned up source in order to open up the code.
* many files: stopped building nasty old X11 bits that didn't work,
leaving ncurses interface only. Dependency on Motif was no longer
tenable. All the code is still there, just disabled.
* many files: incorporated all known patches (about 99.9% of which
are from Dan Magenheimer).
* configure.ac: set default PAGER to less, as it is the only one
that seems to work properly with Ski.
2004-11-15 David Mosberger <davidm@hpl.hp.com>
Based on patch Konstantin Belochapka:
* src/linux/syscall-linux.c (slave): Change to char *.
(SLAVE_ID): Delete.
(getPty): Use getpt()/grantpt()/unlockpt() API instead of open
code.
(initConsole): Pass last two characters of slave tty-name to
xterm. This may be wrong, but xterm doesn't seem to care about
the pty-name much. The important part is the file-descriptor
number and that we get right.
2004-05-07 David Mosberger <davidm@hpl.hp.com>
* src/ui.c (regwtbl): Change height of System Registers info from
43 to 64 lines. (srLine): Adapt to make room for 64 PMC and PMD
registers (man, this code is in need of a rewrite!!).
* src/ssDSym.c: Add include of "state.h" so we get NPMS defined.
(isymInit): For PMCs/PMDs, call isymIns2() with -NPMS instead of
-16.
* src/libcore.h (NPMS): Increase from 16 to 64 so we get 64 PMCs
and PMDs (like on Montecito).
* src/state.h (NPMS): Likewise.
2004-05-07 David Mosberger <davidm@hpl.hp.com>
* src/state.c: Change family from 7 (Merced) to 0x1f
(McKinley/Madison).
2004-05-07 David Mosberger <davidm@hpl.hp.com>
* src/write.c (cfmWrt): Restore the original value of "sof" before
calling rse_new_frame(). That call may longjmp() if a data-debug
breakpoint is hit and when that happens, the simulator state must
be consistent. Once rse_new_frame() returns successfully,
re-establish the new "sof" value.
2004-01-22 David Mosberger <davidm@hpl.hp.com>
* src/tlb.h (DBGREGS): Define to enable debug registers support.
* src/ssDSym.c (isymInit): Define ar.csd as an ia64 register
instead of an ia32 register.
* src/main.c (main): Allow environment variable SKI_PAGE_SIZE to
override simulated page-size. This is a bit of a kludge to work
around the data-breakpoint limit, which are limited to covering
a single (simulated) page.
* configure.ac: Check for XtRealloc instead of XtMalloc.
(CFLAGS): Compiled with -fno-strict-aliasing to avoid
potential bad code (Ski isn't strict-aliasing safe).
2003-12-10 David Mosberger <davidm@hpl.hp.com>
* src/ssDBT.c (struct dbpt): Add members "loaded" and "padr".
(ibptLoad): Make it return the number of to-be-loaded breakpoints.
(dbptDisplay): Re-enable to print P for physical, V for virtual
data-breakpoints.
(dbptSet): Don't allow data-breakpoints to cross a page-boundary.
Set "realmode" based on PSR.dt and clear "loaded" member. If
anything goes wrong once breakpoint is allocated, branch to "fail"
label and clear the "inuse" flag.
(dbptDelete): In addition to "inuse" flag, also clear
dbpts[b].loaded flag.
* src/tlb.h (dbptLookup): Declare.
* src/tlb.c (dbptLookup): New function.
2003-12-08 David Mosberger <davidm@hpl.hp.com>
* src/ssDBT.c (ibptLoad): Avoid infinite recursion that could
occur when ibptLoad() got invoked via tlbInsert() and the
memMIRd() call caused a TLB translation to be inserted from the
VHPT, which would then cause the recursive call to tlbInsert().
The solution is to clear numBptsToLoad at the beginning and then
to count the number of failed memMIRd()s in a local variable,
which get stored to the global numBptsToLoad only at the end.
Besides avoiding infinite recursion, this also should correct the
counting of the number of pending breakpoints.
* src/ssDDM.c (get_dyn_info_list_addr): Update call to
_Uia64_find_dyn_list() to match API change introduced
by libunwind v0.95.
2003-07-08 David Mosberger <davidm@hpl.hp.com>
* src/ssDDM.c (rbs_overflow_area): New variable.
(wrap): New function (copied from exec_hd.c).
(unwind_flush): New function. Flushes dirty partition
to rbs_overflow_area without affecting visible machine state.
(access_mem): Access memory in range [ar.bspstore, ar.bsp)
via rbs_overflow_area.
(cstkDisplay): Call unwind_flush() instead of unwindFlush().
The latter fails if ar.bspstore is invalid and also needlessly
changes the visibile machine state.
2003-07-08 David Mosberger <davidm@hpl.hp.com>
* src/ssDDM.c (get_unwind_table): Ensure that the unwind table
info spans _all_ text segments. With the Linux kernel, the
unwind table covers both .text and .text.init, so this is
important. Also, fix two minor debug printing issues.
* src/linux/syscall-linux.c (_FILE_OFFSET_BITS): Define as 64
to ensure that file system calls use 64-bit file offsets. This
makes it possible to run ski on 32-bit platforms with simulated
disks that are bigger than 2 GBytes.
(_LARGEFILE_SOURCE): Ditto.
2002-11-19 David Mosberger <davidm@hpl.hp.com>
* src/load.c (elf64_symbols): If symbol with same name and value
exists already, don't reinsert it again. Also, do not ignore
symbols of type STT_COMMON and STT_NOTYPE. The latter case is
common because all code labels on ia64 linux have this type
(STT_NOFUNC is not correct here, because STT_NOFUNC has special
significance, according to the ELF System V ABI).
2003-03-03 David Mosberger <davidm@hpl.hp.com>
* src/ui.c (scrnInit): Print an error message when X_INTERFACE is
selected but Motif is not available.
* configure.ac: When Xm.h exists, autoconf for -lpthread, -lXt,
and -lXp, since -lXm may need those.
2003-02-27 Laurent Morichetti <laurentm@cup.hp.com>
* src/tlb.c: added dtcs_head and itcs_head for the head
of the translation cache linked list. when inserting a new
entry in the translation cache evict the LRU entry instead
of the oldest one.
(searchDTLB) added 2 level cache for fast lookup
(searchITLB) ditto.
* src/tlb.h: added next field to struct TlbEntry, making
TlbEntry a linklist element.
* src/sys_exec.c: (rfiEx) should return ST_CHECK if
cfle is set.
* src/state.c: getIcp now returns an INSTINFO*.
* src/sim.h: shrunk the size of INSTINFO by removing
redundant/unnecessary fields. added a new status bit (ST_CHECK)
to break the simulator loop. got rid of IC struct.
* src/sim.c: complete rewrite of iCycleSysLoop. removed NEXT2
and ADD_CTRS code. lastInstComb is not required anymore.
* src/read.c: changes to pgrr2,pgrr3,pgrtgt. ct replaces ic.
(callRd) use IPTR instead of retIP
(calliRd) ditto.
* src/predecode.awk: pgrtgt is now a BYTE containing the
register number + 1 (0 means statictgt is false). Same
for pgrr2 & pgrr3.
* src/opcode.awk: removed lastInstCombFP.
* src/libtrace.h: renamed qpred as it conflics with
the extrainfo qpred.
* src/instinfo.h: qp is now extrainfo[0]. shifted all
other extrainfo fields by one. removed statictgt & retIP
as they are not used anymore. tag13 is now a word starting
at &extrainfo[4].
* src/fp_exec.c: ct replaces ic in INSTINFO.
* src/exec.c:
(brReEx) add ST_CHECK to status if cfle.
(breakEx) propagate ST_CHECK from doSSC to status.
* src/combfns.awk: Added new Status st variable to allow
comb functions to modify their return status.
2003-02-25 David Mosberger-Tang <davidm@hpl.hp.com>
* src/linux/syscall-linux.c (struct lia64_stat): Change member
prefix from "st_" to "St_". The former is reserved name-space for
<sys/stat.h> and stuff like st_atime may actually be a macro.
(struct lia64_old_stat): Ditto.
src/ssDDM.c: Also pass global-pointer to _Uia64_find_dyn_list.
2003-02-20 Laurent Morichetti <laurentm@cup.hp.com>
* src/memory.c (Repository): PmemHash optimization to use >> and &
instead of / and % (fix for performance regression). Inline if
possible static pmem_* funcs.
* src/main.c (Repository): Assert if page_size is not a power of 2
and compute log2_page_size.
* src/libcore.h (Repository): Added extern log2_page_size.
* configure.ac (Repository): Added tests for inline & const keywords.
2003-02-19 David Mosberger <davidm@hpl.hp.com>
* configure.ac: Add AC_DEFINE_UNQUOTED for SKI_RELEASE.
* Makefile.am (.PHONY): Mention pubdist.
(pubdist): New target to create public binary-only release of ski.
* src/version.c: Append SKI_RELEASE to version number if it's
defined.
* src/Makefile.am (ski_LDFLAGS): Use -all-static instead of
-static (libtool seems to need that for producing static
programs).
* doc/ski.man: New file. This is mostly what Stephane wrote
for the original Ski RPM, updated with the -forcesystem
option.
2003-02-19 David Mosberger <davidm@hpl.hp.com>
* src/Makefile.am (libskiui_la_LIBADD): Move $(DWARF_LIBS) to...
(libski_la_LIBADD): ...here.
2003-02-14 David Mosberger <davidm@hpl.hp.com>
* src/linux/osload-linux.c (os_elf64_abi): Use force_system and
force_user to influence "userland" choice.
* src/linux/dwarf-linux.c (find_in_section): Initialize last_line
to avoid spurious compiler warning. Ditto for line_len. Replace
test against "true" and "false" (BFD no longer defines these).
* src/version.c (VERSION): Remove duplicate macro.
* src/ui.c (productInfo): Print slightly different info
for public version (!HP_INTERNAL).
* src/ssDDM.c: Include "config.h".
(HAVE_UNWIND_SUPPORT): Define if HAVE_LIBUNWIND_IA64 is defined.
Rename HAVE_LIBUNWIND to HAVE_LIBUNWIND_IA64.
(acquire_unwind_info): Remove.
(get_unwind_table): New function.
(get_unwind_info): Ditto.
(put_unwind_info): Ditto.
(get_dyn_info_list_addr): Ditto.
(find_proc_info): Ditto.
(ia64_rse_skip_regs): Ditto.
(access_mem): Adjust for updated libunwind API.
(access_reg): Ditto.
(access_fpreg): Ditto.
(cstkDisplay): Ditto.
* src/main.c: Declare "force_system".
(argsInit): Handle "-forcesystem".
* src/load.c (force_system): New variable.
(elfSymLoad): Initialize unwind_base to zero to avoid spurious
compiler warning. Remove debug printf().
(elfLoad): When encountering PT_INTERP, check "abi", not
unixABI.
* configure.ac: Check for libunwind-ia64 via AC_CHECK_LIB.
Look for -lbfd and -liberty instead of -lbfd-ia64 and
-liberty-ia64.
2002-12-11 Laurent Morichetti <laurentm@cup.hp.com>
* (Repository): Moved os specific files to subdirectories.
2002-06-06 Laurent Morichetti <laurentm@cup.hp.com>
* src/main.c (Repository): Moved command line options functions.
* src/exportui.h (Repository): Moved command line options functions.
* src/ski.c (Repository): Moved command line options functions.
* src/memory.c (Repository): segfaults if we try to map page 0.
* src/sim.c (Repository): instDecode should return NO if the specified
the given address is invalid and YES if it succeeds. During state
reset, also invalidates the instruction cache tags.
* src/std.h (Repository): Added endianness warning.
* src/state.c (Repository): Added frSet & frGet.
* src/libcore.h (Repository): Added frSet & frGet.
* ski.spec.in (Repository): Back to sub-release 1.
* configure.ac (Repository): Increased release number.
2002-05-30 Laurent Morichetti <laurentm@cup.hp.com>
* configure.ac (Repository): Only build ilp32 on HPUX/IPF.
* src/ssX.c (Repository): Enabled <CR> to repeat previous command.
* src/Makefile.am (Repository): Export libui.
* ski.spec.in (Repository): Added support for bfd.
* ski-config.in (Repository): Added --ldflags.
* XSki.linux (Repository): Added BackSpace binding & default
background color to gray.
2002-05-24 Laurent Morichetti <laurentm@cup.hp.com>
* src/decoder/instID.awk (Repository): Do not use 'short enum' when
using ICC.
* src/bits.h (Repository): Only use bad_bitfx.. when compiling
with GNUC. (ICC gets unsats).
* src/make_asm (Repository): const on return type is meaningless.
* src/asm.h (Repository): const on return type is meaningless.
* configure.ac (Repository): Do not build shared library by default.
To enable shared library add --enable-shared to the configure flags.
* ski.spec.in (Repository): Added --enable-shared to build the shared
library.
* src/tlb.c (Repository): Warning fixes for ICC.
* src/ia_exec.c (Repository): Warning fixes for ICC.
* src/syscall-linux.c (Repository): Warning fixes for ICC.
2002-05-23 Laurent Morichetti <laurentm@cup.hp.com>
* src/memory.c (Repository): Added inlined assembly for LDCWS for gcc.
* src/load.c (Repository): lp64 and unixABI should not be static
as they are declared extern in the headers.
* src/eparse.y (Repository): Changed the type of str to char* to
incompatible type assignment warnings.
* src/bits.h (Repository): On HPUX, HP cc warns about shifts
exeeding 31 bits (for vars <= int in size). BitfX8, BitfX16,
BitfX32 and BitfX64 should now be used instead of the generic BitfX.
To limitate the number of changes in the code BitfX will map
to BitfX64.
* macros/Makefile.am (Repository): Added compilers.m4.
* macros/compilers.m4 (Repository): Support to automatically detect
HP cc and Intel icc compilers. We can now set compiler specific
CFLAGS by testing the value of HPCC or ICC against "yes".
* ski.spec.in (Repository): Ifdefs linux specific commands.
* Makefile.am (Repository): cleandist should remove XSki. Do not
move the generated rpms as we do not know for sure the name of
the build architecture (e.g. for hppa2.0w build arch name is hppa1.1)
* src/decoder/instID.awk (Repository): The type short should be
omitted for gcc (not just linux).
* src/syscall.c (Repository): Changed generic BitfX macro to the one
specialized on the type. Fixed some pointer to int conversion
warnings.
* src/decoder/_decoder.h (Repository): The size of InstID should be
16 bit to match exactly with unsigned short opIndex.
* src/float.h (Repository): Changed generic BitfX macro to the one
specialized on the type.
* src/float.c (Repository): Changed generic BitfX macro to the one
specialized on the type.
* src/exec_hd.c (Repository): Changed generic BitfX macro to the one
specialized on the type.
* src/ui.c (Repository): Changed generic BitfX macro to the one
specialized on the type.
* src/tlb.c (Repository): Changed generic BitfX macro to the one
specialized on the type.
* src/read.c (Repository): Changed generic BitfX macro to the one
specialized on the type.
* src/mm_exec.c (Repository): Changed generic BitfX macro to the one
specialized on the type.
2002-05-23 Laurent Morichetti <laurentm@cup.hp.com>
* src/decoder/instID.awk (Repository): HPUX build fixes.
* src/syscall.c (Repository): HPUX build fixes.
* src/ssDDM.c (Repository): HPUX build fixes.
* src/ssDBT.c (Repository): HPUX build fixes.
* src/main.c (Repository): HPUX build fixes.
* src/load.c (Repository): HPUX build fixes.
* src/cur.c (Repository): HPUX build fixes.
* src/dwarf-linux.c (Repository): getSrcLines when bfd is not
available should always set *count to 0.
* src/make_asm (Repository): Added a test for gperf.
* src/bits.h (Repository): Now that we are using BitfX for most
field operations, the macro that tests the size of the data is
required.
* configure.ac (Repository): Bug fixes and added AC_PROG_LN_S,
AC_FUNC_ALLOCA and AC_CHECK_PROG for gperf (required to build ski).
2002-05-22 Laurent Morichetti <laurentm@cup.hp.com>
* all: Merged with ski v0.977. Added autoconf/automake/libtool.
2002-02-27 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (doSyscall.getresgid): Copy host gids to lia64
gids before copying them to user-space.
(doSyscall.getresuid): Ditto for uids.
* ssDDM.c [HAVE_LIBUNWIND]: Move from here...
* GNUmakefile (CPPFLAGS): ...to here.
* load.c (mmapSyms): Also register symbols found in dynamic symbol
table sections.
2002-02-26 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (offsetof): New macro.
(dirent_name_off): Ditto.
(dirent64_name_off): Ditto.
(getdents): Replace _syscall3() macro with a call to syscall().
(getdents64): Ditto.
(doSyscall.getdents): Instead of hardcoding dirent-size difference,
calculate it as 18 (IA-64 Linux size) minus the host-size.
(doSyscall.getdents64): Ditto.
* version.c (VERSION): Increase version number to 0.943l2.
* load.c (mmapSyms): Call addLM().
(interp): Ditto.
(elfSymLoad): Ditto.
(elfLoad): Ditto.
* ssDDM.c [__linux__]: Define HAVE_LIBUNWIND.
[HAVE_LIBUNWIND]: Include <libunwind.h>.
(struct load_module): New type to track loaded modules.
(addLM): New function for libunwind support.
(acquire_unwind_info): Ditto.
(ia64_rse_slot_num): Ditto.
(ia64_rse_num_regs): Ditto.
(access_mem): Ditto.
(access_reg): Ditto.
(access_fpreg): Ditto.
(cstkDisplay): Ditto.
* main.c (main): Initialize page_size and page_mask.
* load.c (segload): Round length according to host's page size.
(elfLoad): Set AT_PAGESZ to host's pagesize.
* libcore.h (page_size): New variable to hold the host's page size.
(page_mask): New variable.
* dwarf-linux.c (initDwUnitTbl): Fix comment.
2001-05-08 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (get_unmapped_area): Use memIsMapped() instead
of dummy memMRd1().
(doSyscall): Ditto.
* memory.h: (memIsMapped): Declare.
* memory.c (memIsMapped): New function.
2001-03-08 David Mosberger <davidm@hpl.hp.com>
* Released version 0.943l0.
* syscall-linux.c (doSyscall): Handle SHM_LOCK and SHM_UNLOCK
commands for LIA64_shmctl.
(doSyscall): Handle GETALL, SETALL, GETVAL, GETPID, GETNCNT, and
SETVAL commands for LIA64_semctl.
2001-03-07 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (doSyscall): Unmap any old mappings for mmap()
with the MAP_FIXED flag set.
(doSyscall): For LIA64_mmap, preserve file pointer around call to
mmapSyms().
2001-02-17 David Mosberger <davidm@hpl.hp.com>
* ssDBT.c (ibptLoad): Use itlbMLookup() instead of itlbLookup().
This fixes a bug where Ski failed to remove some instruction
breakpoints upon hitting that breakpoint.
2001-02-16 David Mosberger <davidm@hpl.hp.com>
* XSki.Linux: Rename <Configure> to <ConfigureNotify>. With this,
it's possible to resize the height of the various windows.
Add "defaultVirtualBindings". This FINALLY gets "Page Down" etc.
to work in the various windows.
2001-02-15 root <davidm@hpl.hp.com>
* syscall-linux.c (doSyscall): When execve()ing an IA-64 program,
do so via bskinc instead of "bski -noconsole".
2001-02-14 David Mosberger <davidm@hpl.hp.com>
* main.c (main): Check for program name "bskinc" and, if so,
turn on force_user and noConsole. We used to do this via
a script, but that doesn't work because it doesn't preserve
the argv vector (e.g., try "make menuconfig").
* syscall-linux.c (doSyscall): Do proper emulation of getdents64()
by falling back on stat(). Slow, but better to be slow and
accurate than fast and wrong.
(doSyscall): Make sysctl() fail silently.
* load.c (elfLoad): Also allow ET_DYN as an executable file
(under Linux at least, /lib/ld-linux-ia64.so.2 is executable and
used by ldd).
* dwarf-linux.c (load_symbols): Don't fatal_error() if file
doesn't have symbols.
* syscall-linux.c (doSyscall): Fake v2.4.0 for uname(). glibc-2.2
otherwise refuses to work (see
sysdeps/unix/sysv/linux/dl-osinfo.h).
* load.c (LINUX_ULD_TADDR): New macro.
(interp): Set uld_taddr to LINUX_ULD_TADDR if linuxABI is in
effect.
* syscall-linux.c (doSyscall): Replace LIA64_getpagesize by 1171
as the former is a system call that is deprecated.
(doSyscall): Rename LIA64_stat to LIA64_old_stat, LIA64_lstat to
LIA64_old_lstat, and LIA64_fstat to LIA64_old_fstat.
(old_stat_host2lia64): Rename from stat_host2lia64.
(struct lia64_old_stat): Rename from lia64_stat.
(struct lia64_stat): New structure.
(stat_host2lia64): New function.
(doSyscall): Implement new versions of LIA64_stat, LIA64_lstat,
and LIA64_fstat.
(doSyscall): Treat clone2() same way as clone(): ordinary fork()
or vfork() is supported, anything else fails.
(doSyscall): Implement getdents64(). The d_type field is always
set to DT_UNKNOWN for now (see linux/include/fs.h). Once
getdents64() is supported on most hosts, we can fix this.
(doSyscall): Mention LIA64_pivot_root, LIA64_mincore, and
LIA64_madvise, but treat them as unimplemented system calls for
now.
* syscall-linux.h: Update based on latest version.
* syscall-linux.c (doSyscall): Remove ioperm() support; IA-64
programs implement this at the user level.
2001-02-13 David Mosberger <davidm@hpl.hp.com>
* load.c (elfLoad): Define AT_PAGESZ unconditionally. Add
AT_CLKTCK. If libc doesn't define AT_CLKTCK, define it here as 17
(we can get rid of this once glibc-2.2 with kernel v2.4 is
widespread enough).
* Sync up with Mike's v0.943.
2000-12-21 David Mosberger <davidm@hpl.hp.com>
* data.c: Print ASCII data in correct order for little-endian
machines.
* version.c (VERSION): Change version to 0.873l4beta2.
2000-09-13 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (LIA64_shmat): If shmid is not a known shmseg
id, try to look up the segment's size via shmctl() and if that
succeeds, create a new shmseg descriptor. This should make it
possible to inherit shmids between processes.
(shmseg_new): Return pointer to newly created shmseg descriptor.
2000-09-12 David Mosberger <davidm@hpl.hp.com>
* sim.c (preInstStuff): Update icp by calling setIcp() after
creating a signal handler frame (signal_invoke_handler()) or
returning from one (signal_return()).
(iCycleAppLoop): Check for NULL icp before doing operations that
depend on non-NULL value.
2000-09-11 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (signal_invoke_handler): Clear "info" before
using it to avoid random pointers being used by the combfns
routines. Force update of cached instruction pointer by clearing
icp to NULL. Can't do setIcp() here because in the case of
getting a signal while in sigsuspend(), icp will get updated in
the return path from the break system call emulation.
(signal_return): Ditto. Don't set icp here, do it in sim.c instead.
2000-07-28 David Mosberger <davidm@hpl.hp.com>
* Released version 0.873l3.
2000-07-24 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (LIA64_shmget): If we didn't create the shared
memory segment, obtain the segment size via shmctl(IPC_STAT) and
ignore the size that was passed in on entry (the shmget() call
already verifies that arg1 <= segment size).
2000-07-13 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (struct shmseg): New structure.
(shmseg_list): New global variable to track list of
attached shared memory segments.
(cmsg_host2lia64): Remove unused variable "lia64_fd".
(shmseg_new): New function.
(shmseg_lookup_id): Ditto.
(shmseg_lookup_addr): Ditto.
(shmseg_free): Ditto.
(LIA64_semctl): Implement IPC_RMID (only).
(LIA64_msgctl): Ditto.
(LIA64_shmctl): Ditto.
(LIA64_shmget): Fix emulation.
(LIA64_shmat): Ditto.
(LIA64_shmdt): Ditto.
2000-07-06 David Mosberger <davidm@hpl.hp.com>
* memory.h (swapd): Make it host byte-order dependent. This fixes
a bug reported by Hiroshi Furukawa.
2000-06-09 David Mosberger <davidm@hpl.hp.com>
* memory.c (memXchgAdd): Handle access to unallocated page by
calling unallocPageRd() and unallocPageWrt().
(memXchgCond): Ditto.
2000-06-06 David Mosberger <davidm@hpl.hp.com>
* sim.c (iCycleSysLoop): Add back check & support for taken-branch
and single-step faults.
2000-05-29 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (doSyscall): Fix typo in readlink emulation:
first argument to readlink must be buf, not malargbuf.
2000-05-15 David Mosberger <davidm@hpl.hp.com>
* Released version 0.873l2.
* syscall-linux.c (doSyscall): Fix getsockopt call. arg4 is a
_pointer_ to an int (socklen_t to be precise), not an int. Also,
fix size checking logic and use malargbuf/ENSURE_SIZE instead of
the fixed size buffer (BUF). Also fix setsockopt to use
malargbuf/ENSURE_SIZE.
2000-05-11 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (doSSC): Handle SSC_STOP.
* ssc.h (SSC_STOP): Ditto.
2000-04-28 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (initConsole): Fix error message ("to" was
missing in "Unable to create console window").
2000-04-27 David Mosberger <davidm@hpl.hp.com>
* dwarf-linux.c (load_symbols): Don't fail if symbol count is
zero. Stripped binaries are quite fine.
* load.c: Include "exportui.h" and "coreui.h".
(elfSymLoad): Call initDwUnitTBL only if not running in batch mode.
(elfLoad): Ditto.
2000-04-13 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c (doSyscall): Fix truncate and ftruncate: LENGTH
argument is arg1, not arg2! (Fixes emacs crash during undump.)
Fixed bind, connect, accept, getsockname, sendto, recvfrom to let
them handle arbitrary-sized socket addresses (fixes bug reported
by Zeus).
1999-04-05 David Mosberger <davidm@hpl.hp.com>
* GNUmakefile (CFLAGS): Remove bogus warning about getting bad
code with -O on x86.
1999-04-30 Stephane Eranian <eranian@hpl.hp.com>
* Incorporated the network support into ski
* modified syscall-linux.c to support networking in both
user/kernel modes
* syscall-linux.c: fix a bug in readConsole
1999-02-04 David Mosberger <davidm@hpl.hp.com>
* syscall-linux.c: Remove __NR_time (use __NR_gettimeofday instead).