Commit Graph

142 Commits (ed753ff8c455fa5838799dab46f40120c2debde1)

Author SHA1 Message Date
Dennis Schridde 302a557478 Rename "raw" Makefiles to "win32" Makefiles
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5402 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-06 14:29:04 +00:00
Giel van Schijndel a4e8c96977 Move the code to spawn GDB, and arrange for a communication pipe, to a separate function: execGdb
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5391 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:41:33 +00:00
Giel van Schijndel 619e1e1943 * Deal with a failure of exeve() by writing a debug message indicating that it failed and terminating the child of our fork()
* Flush the write end of the pipe after writing all GDB commands into it
 * Process the return data (both return value and the contents of the output integer) from waitpid()

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5390 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:41:25 +00:00
Giel van Schijndel 2d6615a30a Refactor function gdbExtendedBacktrace:
* return as soon as an error condition is detected, thus preventing the need for deep nested if-branches.
 * Add some additional comments
 * Return true or false, false indicating an error, true indicating success

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5389 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:41:17 +00:00
Giel van Schijndel 6953f0fd6d Move the code that provides GDB backtraces in a function of its own to refactor it later (i.e. get rid of the deep if-branch nesting)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5388 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:41:07 +00:00
Giel van Schijndel aadfec4677 Document the gdb commands; what they do and why they're there
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5387 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:41:00 +00:00
Giel van Schijndel 38eea0b640 The syscall open() returns -1 on an error *not* 0, as 0 is a *valid* file descriptor:
* Thus check for a return value of -1, not 0

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5386 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:40:52 +00:00
Giel van Schijndel f8e5f8ddb8 * Don't duplicate code just because there's a single platform (Mac OSX) on which it isn't used
* Instead compile that code on all platforms except for the given one (Mac OSX)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5385 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:40:43 +00:00
Giel van Schijndel 43bdd9575d Factor out the code to retrieve absolute program paths and move it into a separate function of its own: fetchProgramPath
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5384 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 22:40:20 +00:00
Giel van Schijndel fd6b6262ba Apply patch #1078: Expand the GDB exceptionhandler.
With our current backtrace dumps I quite oftenly find that in case of segfaults, which combined with assert failures are the most common crash cause, I cannot easily see what value the dereferenced pointer held.

To be able to see this the exception handler will now invoke the "disassemble" and "info registers" commands when producing a back trace using GDB. This gives us the ability to see the precise assembly instruction that triggered the crash, together with the value of the register that was used as pointer.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5352 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-01 20:40:40 +00:00
Dennis Schridde 45f23a4926 Merge commit 'HEAD@{3}'
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5347 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-28 22:32:44 +00:00
Dennis Schridde 050ec39c11 Use the (also new in this commit) relative variants of the directories almost everywhere.
Exception is when generating the .wz files, where we need the path to the build directory and building a reverse relative path to $(srcdir) will be messy.
Also silence submake.mk a great deal.
Bug #11883 should be fixed now for the most part.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5325 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-24 23:41:52 +00:00
Dennis Schridde fd2bfb0e0f Prepare for another fix for parts of bug #11883: Issues with the improved raw Makefiles
- Rename Makefile.raw to lowercase


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5321 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-24 22:48:45 +00:00
Dennis Schridde 73b35ab8d6 Rename top_srcdir/top_builddir to abs_top_srcdir/abs_top_builddir, to make this more obvious.
Their use is currently flawed, since it will not work in directories with spaces in them... (


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5319 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-24 20:19:54 +00:00
Dennis Schridde 9bd8b24921 Boost raw Makefiles
- Use PACKAGE, PACKAGE_VERSION, remove VERSION
- Allow out-of-source-dir builds (mkdir build && cd build && make -f ../Makefile.raw)
- Move config.mk from $(top_srcdir)/makerules/config.mk to $(top_builddir)/config.mk
   When keeping current behaviour (srcdir=builddir), this means: Move it from makerules into the main directory


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5308 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-23 13:54:47 +00:00
Giel van Schijndel 05d71e2b19 Don't bother warning about some unused parameters in exchndl.c
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5239 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-09 19:58:56 +00:00
Giel van Schijndel f6693eebdf Fix a typo strrcat => sstrcat
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5183 4a71c877-e1ca-e34f-864e-861f7616d084
2008-05-25 15:42:02 +00:00
Giel van Schijndel 855ec725d4 Use sstrcpy|sstrcat instead of strlcpy|strlcat for manipulation of statically sized strings
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5176 4a71c877-e1ca-e34f-864e-861f7616d084
2008-05-25 13:46:49 +00:00
Giel van Schijndel bfb035d41a Merge r4804 from the 2.1 branch into trunk (except for the removal of the SQLite stuff from the XCode projectfile)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4849 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-28 21:41:12 +00:00
Giel van Schijndel fbf8efefde Only truncate the programPath if it's followed by an EOL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4847 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-28 21:16:51 +00:00
Giel van Schijndel 0555874c44 Pass programCommand to dbgDumpInit() so that it can use that to set up debug dump info
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4844 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-28 20:45:28 +00:00
Giel van Schijndel 61c8bbc4b9 * Don't "Guarantee nul-termination" after snprintf as snprintf does that itself already (per the C99 spec)
* Use strlcpy for copying strings instead of snprintf "%s"
 * Don't cast the return value from vsnprintf to (void)
 * When we use va_start make sure to use va_end as well...
 * Fix indentation


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4785 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-26 14:21:41 +00:00
Dennis Schridde 4c10f714c5 Use std::endl instead of EOL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4713 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-20 23:56:35 +00:00
Dennis Schridde 655fd8e6e3 windows.h is not needed after frame.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4712 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-20 23:56:28 +00:00
Giel van Schijndel 8d2524be31 Const correctness
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4708 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-20 23:10:19 +00:00
Giel van Schijndel 5de54b2936 Lets not depend on the preprocessor's ability to concatenate strings as MSVC doesn't seem to be that good at it
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4636 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-15 18:52:16 +00:00
Giel van Schijndel 8c9e8193aa #define PACKAGE_DISTRIBUTOR to "UNKNOWN" if it isn't defined at the compiler commandline
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4635 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-15 18:45:35 +00:00
Giel van Schijndel 983e48834c Use GetModuleFileNameA instead of GetModuleFileName to make sure we can build properly, even on Unicode builds
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4633 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-15 18:25:20 +00:00
Giel van Schijndel 36766ec8ce Use a more unified system for the "default" info in exception reports (i.e. the same code for the Windows & GDB on GNU/Linux handlers)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4623 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-14 23:17:51 +00:00
Giel van Schijndel ff663196a3 * Forward declare debug_callback_win32debug when compiling for Windows
* Don't define windowsExceptionHandler when compiling with MinGW (as we don't use it on MinGW)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4587 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-13 22:54:58 +00:00
Roman C daf4a00039 Get rid of some unnecessary MSVC warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4574 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-12 15:17:47 +00:00
Roman C ab1629285b Fix MSVC compilation. Patch by Buginator.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4533 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-06 16:07:36 +00:00
Giel van Schijndel 624f992e62 In the Dr. MinGW exceptionhandler additionally dump:
* The version as returned by version_getFormattedVersionString()
 * Compiler name and version
 * Pointer size
 * Last two log lines (with `dumpLog`)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4516 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 23:54:12 +00:00
Giel van Schijndel 9c90950e4a Add exceptionhandler to the MSVC project for r4484
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4514 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 23:44:15 +00:00
Giel van Schijndel 5bcc0ed6df Keep track of the previous exceptionhandler and call it when we're finished in our own
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4508 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 22:14:16 +00:00
Giel van Schijndel 85c2a8a3cf Remove whitespace from the end of lines
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4506 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 22:06:04 +00:00
Giel van Schijndel 0ae93346f0 Only set up Dr. MinGW as exceptionhandler when compiling with MinGW (the BFD lib is a huge pain to compile with MSVC)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4503 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 21:10:36 +00:00
Giel van Schijndel 80917fb4a9 Allow compiling without warnings if HAVE_BFD isn't defined
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4493 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 16:24:45 +00:00
Giel van Schijndel 3c516a43f4 the exceptionhandler requires $(SDL_CFLAGS) (because it #includes frame.h which depends on that)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4491 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 16:18:37 +00:00
Giel van Schijndel fdcadfcc8f Compile & link in Dr. MinGW's exceptionhandler
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4490 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 16:15:14 +00:00
Giel van Schijndel 53507faee0 Add the exceptionhandler from Dr. MinGW (part of mingw-utils) with my fixes to it (doesn't compile & link in yet)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4489 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 16:00:58 +00:00
Giel van Schijndel 665e57dc12 Move the exceptionhandler to a directory of its own
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@4484 4a71c877-e1ca-e34f-864e-861f7616d084
2008-04-05 15:11:43 +00:00