Version 2.30 Fri Jan 21 15:11:27 2000 Makefile Eliminate all the kludgey scripts used to produce HTML and ASCII versions. Use makeinfo instead. htmsplit.c Modify the header produced under --djtitles, to track changes in DJ's server configuration. Support the format of section headers generated by makeinfo. Use section numbers when generating the names of the split files. enum.c Removed; use --number-sections option to makeinfo. faqmacro.txi Eliminate macros used to produce HTML. * Q1 Explain how to edit AUTOEXEC.BAT on different systems. Tell them to set TMPDIR when DJGPP is on a CDROM. Explain how to enlarge environment size. Installation instructions for Windows 9X and NT. Warn about misfeatures of WinZip and Aladdin Expander. * Q3.1 Caldera's DR-DOS 7.03 and later solves the DPMI bug. Describe Ctrl-BREAK and VESA2 problems with DR-DOS. Mention problems with redirection with Caldera's TaskManager enabled. * Q3.2 Describe the bug with `delay' on OS/2. * Q3.3 Describe the NT bug with SIGFPE and problems with Allegro, profiling and Ctrl-C. Mention the NT own redir.exe, and how to work around it. Describe the "no DOS memory" message and the bug with `delay'. Describe the problems with beeping and serial ports (from Tony Helm). * Q3.4 Tell that DOSEmu loses selectors as well. * Q3.6 Information about the Dev-C++ package. Add a pointer to the Win32 API docs. * Q3.9 Warn about LFN problems with RAMDRIVE.SYS. * Q3.10 CWSPARAM needs to be used to increase VM beyond 128MB. * Q4.1 Updated SimTel.NET mirrors list. * Q4.7 How to uninstall a package without a *.mft file. * Q5.1 Add information about InfView. * Q5.3 Info about docs in printable format from DJ's server. * Q6.6 Overclocking can cause ICEs and crashes as well. Describe GCC crashes on Windows 3.X. * Q6.12 [NEW] Describe the problems with ThinkPad. * Q6.13 Expain why collect2 from GCC 2.95 accesses the network. * Q7.1 Updated compilation speed for GCC 2.95. Include Allegro compilation times. * Q7.2 Describe bug in collect2 from GCC 2.95 which causes slow linking. * Q8.1 Explain that Notepad creates hello.c.txt. * Q8.2 Move -lstdcx problem from section 8.7 to here. * Q8.8 Tell them to use -lstdcxx instead of -liostream. * Q8.13 GCC v2.95.1 and later don't bloat C++ programs with static arrays. * Q8.14 Retired. * Q8.14 Mention UPX. * Q8.15 [NEW] Explain why DJGPP doesn't use DLLs. * Q8.16 Retired. * Q8.23 [NEW] Installing DJGPP from some CDs doesn't copy stubify.exe. * Q9.4 How to read binary files with the ifstream class. * Q10.3 Why some Allegro programs refuse to switch focus with Alt-TAB. * Q11.2 to Q11.5, Q11.7 Retired. * Q11.3 [NEW] Emulation problems in Windows. * Q12.1 Remove limitations of GDB that are no longer true in ports of GDB 4.18 and later. Not only EDEBUG can debug a DXE. * Q12.2 [NEW] Explain why a program explodes inside `free'. Advertise YAMD. Explain the error code printed with Page Fault and GPF. * Q12.9 [NEW] Debugging complex variables in C programs. * Q12.10 Describe the improved debugging support in v2.03. * Q13.3 [NEW] Describe the bug in itimer module from DJGPP v2.02 which invalidates profile produced by Gprof. * Q14.2 Suggest using -mpreferred-stack-boundary= in programs that call a lot of functions. Explain how alignment affects program speed. * Q14.3 Alignment problems solved in GCC 2.95 and Binutils 2.9.1. * Q15.6 DPMI memory should be left at "Auto" when more than 64MB of memory is installed. * Q15.10 [NEW] Describe memory-related message popped by Windows 98. * Q17.1 Tell that the next version of Gas will support Intel syntax. * Q17.4 Assembly and C modules need extern "C" to be linked with a C++ program. Make the list of registers to save more explicit (some pedants seem to argue that the term "register" is not defined well enough...). * Q18.5 Add sample code that shows how to rewrite real-mode code which uses structured buffers passed to real-mode services. * Q18.9 Explain how to lock only .data, .bss, and .text. Mention that DOS memory needs not be locked. * Q18.11 A good memory manager should eliminate the overhead of a mode switch on a hardware interrupt. * Q18.12 Retired. * Q18.13 Explain how to allocate DMA buffers using XMS. * Q19.1 Clarify the wording about no-restrictions. Update the list of functions under the BSD copyright. Tell that the blurb is no longer required. * Q20.5 [NEW] Is it okay to post not in English? * Q21.4 Describe the anonymous access to the DJGPP CVS tree. * Q22.1 [NEW] Some popular RHIDE problems. * Q22.4 New info and pointer to HOWTO for the TVision port. Add information about libwin. Add info about the MC port. Add pointer to YAMD and FORTIFY. * Q22.9 Info about Object Software's CrossGCC site. * Q22.12 How to change NameNumericTail with a REGEDIT input file. * Q22.17 How to repair Makefiles with spaces instead of TABs. * Q22.22 DJGPP Binutils configured for elf32--where to find. * Q22.23 How to produce random numbers from an interval. * Q22.26 [NEW] How to reboot the PC from a DJGPP program. * Q22.27 [NEW] Explain how to wait for short periods of time. * Q22.28 [NEW] Explain why compiling CGI programs with DJGPP will generally not work. Version 2.11 Sat Sep 12 20:52:56 1998 * faqmacro.txi Use the new commands @uref, @email, and @url. Change @footnote to produce a note in parens. Introduce @extrefx macro to better handle external cross-references. * htmlchap.sed, htmlxref.sed New files, add chapter and section numbers to the HTML output. Makefile changed to add this extra processing. * htmsplit.c Add HTML prologue and epilogue to each subfile, so the browser will display a valid title for each subfile. Support DJ-style header and trailer which invoke programs on DJ's server. Profile the program and speed it up by 40%, by calling `looking_at' only if the character being examined is '<'. (Conversion of `djgppfaq.html' now takes 1 sec on my P166.) * (Many questions) Compatibility with TeX: use 3-argument cross- references, remove apostrophes from node names, make all footnotes be printed at end of their nodes. Don't use '/' in node names, since when they are converted to HTML links, MSIE gets confused. * Q1. Add short descriptions of installation and simple command lines. * Q2. Elaborate about what DJGPP is and what is it good for. * Q3.2 Later OS/2 versions solve some DPMI-related bugs. * Q3.3 Mention Andrew Crabtree's LFN driver for NT. * Q3.4 More info about problems with DOSEmu and solutons. * Q3.6 Rewritten from scratch. Info about RSXWDK removed. Mention problems with RSXNTDJ and GCC 2.8. Add info about Mingw32 and Lcc-win32. * Q3.9 Explain why it is better to use a real memory manager. * Q3.10 [NEW] How to configure systems with more than 64Mbytes of main memory. * Q4.4 Add info about availability of DJGPP on CD-ROMs. * Q4.8 [NEW] How to uninstall a package. * Q5.1 Add a pointer to TkInfo browser. * Q5.2 Remove information about old GNU docs converted to ASCII. * Q5.3 Describe the ported TeX and related programs, and the *d.zip files with ready-to-print docs. * Q5.4 Remove the info about PS docs available elsewhere from the 'net. SED and Gprof are now documented in their distributions. * Q5.5 Describe the ported Groff and the `man' clone. Rewrite instructions about setting up for browsing man pages. * Q6.1 [NEW] Describe reasons why interactive programs like Less, Bash and RHIDE could hang on Windows 95. GCC 2.8.1 can hang as well, so add description of that. * Q6.2 More reasons for `no DPMI' message, including on NT. * Q6.4 Describe frequent problems with VM on Windows 9X and with PGCC/EGCS. * Q6.5 Now only deals with missing subprograms, like `as' and `cpp'. * Q6.6 [NEW] A separate section, to deal with ``Fatal signal'', ``Internal compiler error'', and similar atrocities during compilation. Also describes problems with setting DJGPP variable and programs that require a lot of memory to compile. * Q6.6 Old section about QEMM auto/off mode removed. * Q6.9 Describe the 15-sec wait in old versions of Info. * Q6.12 [NEW] Why does a linker access CD-ROMs/Zip drives. * Q7.2 Advise against installing DJGPP on a networked drive. * Q8.1 Discuss more frequent problems first; rewrite the rest. * Q8.2 Add the problems with LFN=n on Windows 9X. Mention -remap and the NT LFN driver. * Q8.6 Mention __DJGPP_MINOR__. * Q8.7 Describe problems with libstdcxx.a, including under RHIDE. Mention -lfl for Flex programs. * Q8.9 Mention the -(..-) linker option. * Q8.10 Describe problems with __eh_pc etc. * Q8.11 Old info removed. * Q8.12 Ditto. * Q8.13 Add examples of defining empty __crt0_... functions. * Q8.18 [NEW] Describe the problems with ``NULL redefined''. * Q8.19 [NEW] Describe symptoms of mixing different compiler versions in programs that use C++ exceptions. * Q9.2 Problems with symified traceback when using inline assembly. How to get source lines from traceback using only a debugger. * Q9.3 Describe problems with fstream and binary files. * Q9.6 [NEW] Describe the mess with max available file handles on DOS and Windows. * Q10.3 Describe problems with task-switching on Windows 9X, and how to disable Windows warnings. * Q12.1 Restarting the debuggee is now possible. * Q12.2 [NEW] How to begin debugging using the crash dump. Describe and explain frequent reasons for crashes like "Page Fault", GPF, etc. * Q12.4 Remove this section: v2 debuggers have never used the application's transfer buffer. * Q12.5 RHIDE supports dual-monitor debugging. Describe common problems with dual-monitor systems. * Q12.8 How to work around limitations of COFF debug info when debugging include'd source files. * Q12.10 RHIDE can now debug programs which hook interrupts. * Q13.2 More problems with Gprof-related bug in libc.a. * Q14.2 More hints for optimizing programs. Describe problems with EGCS/PGCC and startup code related to runtime speed. * Q14.3 Describe EGCS and PGCC, and where they are available. * Q14.4 Explain why FAT is not necessarily a lousy filesystem. Explain what the transfer buffer is, and what are the limitations on its size. * Q14.5 FP emulation can be a reason for a slow-down in ported programs. Memory-gobbling device drivers, and programs that overflow the CPU caches by a small margin, can also do that. * Q15.1 CWSDPMI now supports up to 512MB. * Q15.2 Advice on replacing `coreleft' and similar functions. * Q15.6 How to get more than 64MB of VM on Windows 9X. * Q15.9 Under a debugger, the stack-size field in stub info is IGNORED. * Q16.1 Explain how the letter-case of the wildcard affects case-sensitivity in matching file names. * Q16.2 Add an example of disabling globbing in the startup code. * Q16.3 How to quote only a part of a wildcard. * Q16.6 Explain reasons for problems with long command lines in RHIDE. * Q17.2 Remove section about Gas atrocities. * Q17.2 Mention Jas and Att2Intl. * Q17.4 [NEW] Which registers should be saved in assembly code. * Q17.5 Mention OBJ2BFD. * Q18.1 Warn against problems in `int86' usage. * Q18.2 Add example of calling a real-mode interrupt and moving data it returned. Explain how to port `segread'. * Q18.4 Make the VRAM selector in the example be 32KB, otherwise accessing it will crash the program. Add an example of accessing on-board memory of devices using their own selector. * Q18.5 Removed section about ANDing real-mode addresses to zero-off their high bits: it isn't required in v2.x. * Q18.5 [NEW] How to port struct declarations from real-mode programs, with an example. * Q18.6 Explain that most programs don't lose speed by using farptrs instead of nearptrs. Advise against the latter. More detailed explanation on how nearptrs work, and what is `__djgpp_conventional_base'. * Q18.7 No need to lock mapped-in memory (it is already locked). Add example of mapping above 1MB mark. * Q18.8 Correct the example so it doesn't crash, and add some comments for those who cut and paste the example into their applications. * Q18.9 Windows calls both PM and RM handlers. How to hook special software interrupts that are reflected to RM. Explain what locking memory does. * Q18.11 Explain why does CWSDPMI abort the program when it tries to page during a hardware interrupt. More info and advice about high-rate interrupt handling. * Q18.14 [NEW] How to write programs which use DMA. * Q19.1 Rewrite. Mention BSD copyright and `copying.dj'. Explain that modifying libc/utilities makes them GPL, unless bugfixes are submitted to DJ. * Q19.2 Change wording, to make more accurate. Describe effect of source modifications, and that the guidelines for distribution are NOT legal requirements. * Q20.2 Now includes info about the gate between the mailing list and the news group. * Q20.5 Removed. Most people don't use the mailing list, so these problems are no more frequent. * Q20.6 Ditto. * Q20.7 Removed: news group is no more news to boast about. * Q21.3 [NEW] How to make DJGPP development faster or cause new features to be added sooner. * Q21.4 [NEW] Where to find the patched libc.a. * Q22.1 [NEW] Explain the problem with g++.exe on plain DOS. * Q22.2 Rewrite to be more in sync with latest distributions of DJGPP packages. Explain how to generate and submit patches for DJGPP programs. * Q22.3 Additional packages, e.g. Winsock libraries. * Q22.8 Rewrite instructions for building a cross-DJGPP. * Q22.14 More about what cannot be done in a DXE, and how to work around that. * Q22.17 [NEW] Explain the ``modification time in the future'' message from Make. * Q22.18 [NEW] How to set up dual DOS/Windows9X installation. * Q22.20 [NEW] Everything you wanted to know about the c:\dev directory. * Q22.21 [NEW] Explain why doesn't DJGPP switch to ELF. * Q22.22 [NEW] How to produce random numbers. * Q22.23 [NEW] Mention where to find explanations for DJGPP terminology. * Q22.24 [NEW] Explain why `main' had better returned `int'. * Q22.25 Rewrite. The FAQ now supports TeX and DVI drivers. Version 2.10 Sat Jan 17 17:39:34 1997 * (Many questions) Removed references to Steve Turnbull's server (it isn't actively maintained anymore). * Q3.1 Mention bugs in DPMI host in Caldera's OpenDOS. * Q3.3 NT 4.0 still doesn't support the LFN API. Describe the selector loss in nested DJGPP programs on Windows/NT and Windows 95. Describe problems with using nearptrs on NT, and some work-arounds. Mention the differences between NT servers and NT workstations wrt DJGPP. * Q4.1 Update the list of SimTel.NET mirrors. * Q4.2 DJGPP v2.01 wasn't uploaded to CCT repositories. * Q4.5 More detailed descriptions of the optional DJGPP packages, and when are they needed. Added descriptions of bash, Emacs, File-, Text- and Sh-utils. * Q4.6 Describe disk space requirements of RHIDE and Emacs. * Q5.1 Mention the Info reader built into RHIDE, as another way to read the docs. * Q5.3 Correct instructions to generate printed libc docs. * Q5.6 A pointer to DJGPP port of GNU Less. * Q6.2 Caldera's OpenDOS DPMI host is incompatible with DJGPP. Detailed instructions on how to turn it off. * Q6.3 GCC can crash if TMPDIR points to a RAM disk which is too small. * Q6.4 Explain why GCC may be unable to find as.exe. * Q6.11 Mention bash as another shell which can redirect stderr. Give an example of redir usage. * Q8.9 Remove references to -lgpl switch (we don't have libgpl.a anymore). * Q8.16 Mention RSXNTDJ as a cause for failures in linking programs and explain how to correct that. * Q8.18 Describe the problem with linking POVRAY, and why EMXAOUT can be a possible cause for similar problems in other packages. * Q8.19 [NEW] Explain problems with building Allegro. * Q9.3 Programs which assume text and binary files are the same aren't ANSI-compatible. * Q11.2 Mention QuickWare's Q87 as an emulator compatible with DJGPP. * Q12.1 v2.01 can debug .exe programs. Mention the built-in debugger in RHIDE and RHGDB as alternative debuggers. Mention the patch to make GDB much faster when it hits a breakpoint. * Q12.7 How to make GDB and its derivatives fully support C++ programs. * Q12.9 Debuggers crash on Windows 3.x; explain how to work around this. * Q13.2 [NEW] Describe the bug in profiler-related library functions, and how to work around it. * Q13.3 Gprof from v2.01 can profile .exe programs. * Q14.2 Practical hints to optimize DJGPP programs for speed. * Q14.3 No Pentium-specific optimizations in DJGPP yet. * Q16.4 Describe the environment method of passing long command lines in v2.01. * Q16.6 Make 3.75 doesn't call COMMAND.COM, and is incompatible with v2.0 tools. * Q17.1 Mention NASM as a possible tool to write DJGPP-compatible assembly code in Intel format. * Q17.3 Mention NASM and give a pointer to it on the net. * Q17.5 Explain possible problems with EMXAOUT-converted object files. * Q17.7 Example of a substitute for the MK_FP macro. * Q17.8 [NEW] How to port code which uses pseudo-register variables such as _AX. * Q18.4 Expanded explanation of access to absolute memory addresses. Explain how to create a selector for certain memory locations. Give examples. V2.01 always verifies that nearptrs has been successfully enabled. * Q18.8 Provide an example of installing a user-defined mouse handler. * Q18.9 Clarify the way hardware interrupts are reflected to PM, and how hooking them in real mode can speed things up. * Q22.2 Mention DJ's port of WATTCP, the DLM package, and the Pthreads library. * Q22.3 How to make DJGPP-style ``symlinks'' with the ported `ln' from GNU Fileutils. * Q22.7 Add a pointer to Linux-to-DOS cross-compiler based on DJGPP. * Q22.9 How to pack an entire struct; explain that it won't work in C++ programs. * Q22.14 Make and Info from v2.01 don't have problems with LFN support on Windows 95. Version 2.02 Wed Oct 16 18:47:32 1996 * (Macros) Changed @email to @mail (Texinfo 3.9 defines an incompatible @email command). * (Top page) Added pointers to Brennan Underwood's home page and to the new French translation of the FAQ. * Q3.2: More details about setting up OS/2 fro DJGPP. * Q3.4: Name Linux versions which need DJGPP-related patch * Q3.6: Add a pointer to RSXNT for DJGPP. * Q4.1: Update list of SimTel mirrors. Remove pointer to DJ's server as a place to download DJGPP (it has been disabled). * Q4.5: Add a pointer to PMODE/DJ as an alternative free DPMI host for DJGPP. * Q5.3: Add a pointer to DVIPS. Explain how to generate `libc2.tex' file required to TeX the library reference. * Q6.2: Explain how trailing junk in DJGPP.ENV can crash DJGPP programs. * Q6.9: Very slow compilation might make an impression that GCC has hanged. * Q8.1: Elaborate on possible causes of incorrect definition of the DJGPP environment variable. * Q8.2: GCC won't find C++ headers if the source has a .c extension. * Q8.15: Tell them to link with -s if they want minimum-size .exe file. * Q9.4: Colored text cannot be printed with stdio functions. * Q9.5: Mention PMODE as a way to produce stand-alone DJGPP programs. * Q11.8: [NEW] Explain SIGFPE crashes when using libm.a and suggest work-arounds. * Q15.4: Mention the heap size problem of early versions of CWSDPMI. * Q16.4: Remove description of the GNUish method of passing long command lines (it was never supported in v2). * Q18.8: Provide pointer to a tutorial and library written by Alaric B. Williams. * Q18.11: CWSDPR0 and PMODE/DJ reduce the overhead of hardware interrupt reflection. * Q18.13: [NEW] Provide pointers to docs on GCC inline assembly facilities. * Q20.3: Say that some mailers might reject the large weekly digests. * Q20.4: Add description of the new mail archive browsing tool. * Q22.2: A pointer to Alaric Williams' tutorial and library. * Q22.13: Where is the minimum DXE docs and example code. Version 2.01 Sat Jun 29 18:23:22 1996 * (Many questions) All references to SimTel changed to point to the new SimTel.NET directory tree. Pointers to the old SimTel converted to CCT. * (Top page) Added pointers to MakeRTF and InfNG converters. * Q3.3: Explain why there is no need for real-mode gcc. Tell that LFN isn't supported on WinNT, and that SVGA modes might not be supported. Mention the Cygnus Win32 project. * Q3.4: (NEW) How to configure Linux DOSEmu for DJGPP. * Q3.6: More details about using RSXWDK with DJGPP; mention RSXNT and the Cygnus Win32 project. * Q3.9: Mention the "Getting started" tutorial available via WWW. * Q4.1: (NEW) The SimTel.NET mirrors list. The old CCT mirrors are now listed in Q4.2. * Q4.5: Note that the latest versions of the packages are mentioned in the weekly posted mini-FAQ. Mention RHIDE. Recommend to install DJGPP sources. * Q5.6: Give pointer to the `man' clone sources. Update the info about `Less'. * Q6.1: (NEW) Solution for "Load error: no DPMI" message. * Q6.3: Mention the insufficient stack as a cause of GCC crashes. Tell about -Q switch to gcc. * Q6.4: Describe improved memory management in CWSDPMI v2. * Q6.7: Go32-v2 can be used in environments that mix v1.x and v2 programs. * Q6.11: Mention that Steve Turnbull's archives aren't up to date. * Q6.12: Improve insructions on how to post questions to the news group. * Q7.1: Separate compiler speed problems from those of the linker (Q7.2). * Q7.2: (NEW) Tell about possible causes of slow linking. Spell out the normal linking speed standard. * Q8.1: Warn about excess blanks in the DJGPP environment variable setting. Long filenames cannot be used in the pathname of DJGPP.ENV in DJGPP variable setting. Point to the page on the DJ's server that explains the syntax of DJGPP.ENV file. Mention problems with DJGPP installed on a networked drive under Novell. Tell about adverse effects of the -B linker switch. * Q8.2: NameNumericTail setting can be restored to default after renaming DJGPP-related files to long filenames. * Q8.6: Correct the example. * Q8.7: Mention STL and libstdc++ library. Tell they were missing from the original v2.0 release. * Q8.9: Add -lstdcxx to the linker switches. * Q8.11: (NEW) Explain the changes with the representation of class Complex in v2.0 as opposed to v1.12. * Q8.13: (NEW) Solution for unresolved `djgpp_first_ctor' etc. * Q8.15: (NEW) Deal with complaints about the size of DJGPP .exe files. Tell how to make them as small as possible. Mention the DJP exe compressor. * Q8.16: (NEW) Win95 shortcut files can confuse DJGPP linker. * Q8.17: (NEW) Stubify can fail to produce .exe under Novell. * Q8.18: (NEW) Linker can fail on large object files or libraries. * Q9.1: More detailed description of a crash due to NULL pointer protection under CWSDPMI. Mention insufficient stack size as another possible cause. * Ch.10: Mention the DJGPP graphics programming tutorial available by WWW. * Q10.1: (NEW) The list of GRX 2.0 drivers for the various supported chip-sets. * Q10.2: A pointer to example code that accesses SVGA linear frame buffer under VBE 2.0. * Q10.3: (NEW) Describe problems with graphics screen content when Windows switches tasks. * Q11.1: Mention that libwmemu.a must be recompiled before linking against it. * Q11.7: (NEW) Solution for SIGFPE in ObjC programs. * Q12.1: Include detailed list of peculiarities of DJGPP port of GDB. Tell that DXE can only be debugged with EDEBUG32. Mention the different `argv[0]' under a debugger. * Q12.5: Pointer to a version of FSDB that supports debugging of graphics programs. Warn that TSRs which intercept BIOS video functions might prevent MSHELL from working. * Q12.7: (NEW) Explain how the names of C++ class variables and methods should be given to GDB. * Q12.8: (NEW) Debuggers cannot see #include'd code; workarounds. * Q12.9: GDB GP Faults under Windows when a breakpoint is hit. * Q13.5: (NEW) Possible reasons for a profiled program to not produce `gmon.out' file, and solutions. * Q14.2: (NEW) Why v2-generated code might be slower than v1.x. * Q14.3: (NEW) Why some programs might be slower on a Pentium. * Q15.6: (NEW) Describe DPMI and VM issues under Win95. * Q15.8: XMS is not freed when spawning child programs, unless a memory manager swaps the parent out. * Q15.9: Correct the example of setting `_stklen'. How is the stack size determined in a debugged program. Mention the DJGPP startup bug that can cause a program to crash, and a solution for this case. * Q16.1: Note that `*.*' requires extension to match. * Q16.6: How to use redirection in a Makefile without losing long command lines. * Q17.1: Add a pointer to the inline assembly programming guide available by WWW. * Q17.3: Exact pointer to TA2AS converter. * Q17.7: (NEW) Explain how to port programs that use `near' and `far' keywords and macros such as `MK_FP' and `FP_SEG'. * Q18.3: More detailed explanation about the default stack provided by the DPMI server. * Q18.9: Explain the problems with writing HW interrupt handlers in C. Include pointer to sample interrupt handler code. * Q18.10: (NEW) When to call _go32_XXX and when __dpmi_YYY. * Q18.11: Warn that sometimes hardware interrupts don't get to applications. * Q19.1: Include the STL legal status. Note that contributed packages may have their own legal restrictions. * Q22.1: Add pointer to the list of known DJGPP bugs and the procedure to submit bug reports. * Q22.2: Add various new packages ported to DJGPP to the list (in particular, RHIDE, SWORD, Allegro and GNU Emacs). * Q22.6: More detailed uploading instructions to DJGPP server. * Q22.7: Fix typos in the script that builds cross-development environment for writing DJGPP programs on Unix. * Q22.9: Mention problems in reading a struct from a file, and suggest a better way. * Q22.10: (NEW) Describe the ways to work around the C++ struct- packing bug. * Q22.11: (NEW) Describe the specifics of Int 24h handling in DJGPP. * Q22.12: (NEW) Describe the go32-v2 program. * Q22.13: (NEW) Describe the DXE. * Q22.14: (NEW) Describe the known bugs of Make and Info under LFN, and how to work around them. * Q22.15: (NEW) Explain what GNU Make wants when it complains about a "missing separator". * Q22.16: (NEW) Explain the purpose of the zoneinfo files, and where to get their latest version. Version 2.0 Fri Feb 16 19:30:42 1996 * Re-written in Texinfo, using a set of Texinfo macros and auxiliary programs and Sed scripts to generate many different formats (Info, HTML, text, PS, etc.) automatically from the same source. * Updated to be consistent with DJGPP v2.0 (removed irrelevant info, added new sections specific to v2.0). [Too many changes to describe individually.] Version 1.2 Fri Jun 09 15:48:11 1995 * (Many questions): Mention the comp.os.msdos.djgpp newsgroup. * Q1.1: Improve DJGPP description. * Q2.1: Mention 512KB as minimum memory requirement. * Q2.2: DPMI bug with spawning programs was fixed in OS/2 Warp. * Q2.6: Update the description of the Dream Machine. * Q3.1: Update the list of SimTel mirrors; ask to download from DJ's server only as last resort. * Q3.4: Add the FAQ to the list of files. * Q3.8: Warn about multiple go32.exe on the PATH. * Q3.11: (NEW) The batch files in the maintenance releases must be run before unzipping the next maintenance release. * Q4.3: If TeXing the TexInfo source won't work, look for texinfo.tex file. * Q4.6: Note that man pages aren't always updated. * Q7.1: Mention much severe degradation of compilation speed on a Pentium in case of incorrect CPU cache settings. * Q8.12: Stephen Turnbull doesn't make DJGPP 1.11maint5 available on his server anymore. :-( Mention a possibility to use the linker from v2.0 alpha distribution. * Q10.2: (NEW) How to get a beta version of GRX 2.0 which runs under DPMI. * Q10.9: Fix the table of Borland/GNU Make features. * Q11.4: (NEW) OS/2 installs FPU emulator for its native images, but not for DOS sessions. * Q11.8: (NEW) Explain possible loss of accuracy in floating point computations due to the emulator. * Q12.7: Mention availability of MSHELL on DJ's server. * Q18.7: Note that the pm_selector member should be set to whatever _go32_my_cs() returns. * Q18.8: Add several possible causes of problems with hooking interrupts: memory paging or timer, keyboard and mouse interrupts which are special to go32. * Q18.9: Give more details on accessing memory-mapped device above 1 MByte mark. * Q18.10: (NEW) Describe the ``Fat DS'' trick. * Q20.7: Delete the passage about Newsgroup voting. Introduce the comp.os.msdos.djgpp Newsgroup. * Q21.1: Update v2.0 release date :-(. * Q21.2: (NEW) Explain the differences between v1.x and v2.0 runtime environments. * Q22.2: Add the pointer to the list of publicly available packages under construction by Stephen Turnbull. Add the pointer to tcplib package. * Q22.6: Add the pointer to DPMI 1.0 spec. * Q22.8: (NEW) Give advice on where to upload DJGPP programs or patched versions thereof. * Q22.9: (NEW) A pointer to DJGPP set up as a cross-compiler for Motorola 68K targets. * Q22.10: (NEW) Explain the feature of C with expressions like 0cfe+0x20. Version 1.1 Tue May 02 23:16:28 1995 * (Many questions): Added description of Web server set up by DJ Delorie, and pointers to its various services. * Q2.8: Recommendation to also stubedit make.exe on memory-depleted systems. * Q3.1: Pointer to (unofficial) Japanese DJGPP mirror. * Q3.4: Updated list of downloadable files. * Q3.5: Correct disk storage requirements. * Q3.6: (NEW) For those who have difficulties downloading DJGPP, here is information on how to get a minimal DJGPP installation (EZ-GCC), about automated downloading programs for Unix and MS-Windows, and how to minimize the number of diskettes to hold DJGPP archive. * Q3.9: (NEW) What to do when some binaries are newer than some maintenance releases. * Q3.10: (NEW) Go32 doesn't always change its version number after installing a maintenance release. * Q4.4: Updated sites which hold PostScript versions of GNU docs. * Q4.6: Updated info on groff port. * Q6.1: (NEW) Explains the ubiquitous ``This program requires a newer version of go32'' message. * Q6.2: EMM386 from DOS 5.0 considered harmful. * Q6.3: Faulty BIOS set-up can cause the compiler to segfault. * Q6.10: Searchable mail archive at DJ's WWW server. * Q6.15: Mention patched version of Info which doesn't barf on DOS-style CR/LF Info files. * Q7.1: Suggest to stubedit Make in addition to Gcc. * Q8.3: Mention C++ include files whose names start with capital letter. * Q8.9: Library reference Info files can help in determining what functions are included in which library. * Q8.10: LIBRARY_PATH in DJGPP.ENV can cause the linker to fail finding the libraries. * Q8.13: (NEW) Everything you didn't want to know about the ``Redefinition of raw_clock'' message. * Q9.5: (NEW) Describe the purpose and usage of Symify. * Q9.6: (NEW) How to symify a program which wasn't compiled with ``-g'' option. * Q9.12: (NEW) Describe what might cause Emacs to crash under Windows 3.x. * Q9.13: (NEW) How to distribute DJGPP programs with and without go32.exe. * Q10.4: Mention the UNIVBE VESA TSR program. * Q10.7: Mention the ScreenUpdate() library function. * Q10.9: (NEW) Explain problems with re-compiling LIBGRX 1.x and the differences between Borland's Make and GNU Make. * Q10.10: (NEW) Why compiling LIBGRX yields error messages. * Q11.4: Add reports from the trenches by those who used RSX Windows Development Kit. * Q11.5: (NEW) Discuss the -msoft-float option to Gcc. * Q11.6: (NEW) NaNs can cause programs to die with ``Numeric exception'' message. * Q12.7: Mention the Mshell program by DJ Delorie as yet another way to redirect screen I/O to a monochrome monitor. * Q13.6: (NEW) Explain why profiling might sometimes crash an otherwise working program due to paging. * Q15.8: (NEW) Discuss additional causes for insufficient stack size under MS-Windows: Stubedit lossage and program resources in the .PIF file. * Q17.1: Explain how to avoid Gas bugs when porting assembly code. * Q17.5: (NEW) Last resort for those who MUST use real-mode code in .obj or .lib format with DJGPP programs. * Q18.4: Some memory-mapped devices require 16-bit word access. * Q18.8: Mention the hardware interrupt reflection overhead. * Q20.3, Q20.4, Q20.5: Mention mailing list services at DJ Delorie's Web server. * Q20.7: (NEW) What about DJGPP Newsgroup? * Q21.1: Add pointer to DJGPP v2.0 development status URL. * Q21.2: (NEW) Looking for a firm date for v2.0 release? Here is your answer! * Q22.2: More pointers to ported utilities. * Q22.7: (NEW) Describe the DJGPP Web site. Version 1.0 Tue Feb 07 07:47:42 1995 * First official version released. Everything is new in this version (officially ;-).