41328 Commits

Author SHA1 Message Date
Oliver Tappe
758e5e7dcd Drop a couple of mbsrtowcs() tests that can't work on Haiku.
* Our mbstate_t just references a corresponding ICU converter, but
  does not actually contain its state. So a mere copying of the mbstate
  won't duplicate the converter's intrinsic state, which means that
  restarting with the copied state won't work.
  If have experimented with cloning the converter into the mbstate_t,
  but I was unable to get that to work, either. Apparently, the state
  of the converter isn't cloned (but just the converter's settings
  and data).
2011-12-12 17:27:41 +01:00
Oliver Tappe
73186b2fcd Add implementation of mbsrtowcs() to our locale backend.
* add MultibyteStringToWchar() to ICU locale backend
* implement mbsrtowcs() and mbsnrtowcs() on top of 
  MultibyteStringToWchar()
* drop respective glibc files
2011-12-12 17:27:41 +01:00
Oliver Tappe
d0e7bc307c Reset ICU-converter in case of error. 2011-12-12 17:27:41 +01:00
Oliver Tappe
cfe553b378 Squash TODO: __STDC_ISO_10646__ is being defined now. 2011-12-12 17:27:41 +01:00
Oliver Tappe
cf13327bef Whitespace cleanup. 2011-12-12 17:27:40 +01:00
Oliver Tappe
0983c476d9 Add gnulib-test-mbsrtowcs.c in order to test mbsrtowcs()
* the test exposes problems in our current (glibc's) implementation
  of mbsrtowcs()
2011-12-12 17:27:40 +01:00
Michael Lotz
eb5e1c09e3 Fix the build, sorry for the noise. hrev43484 2011-12-12 15:20:48 +01:00
Rene Gollent
f67acc2c72 Use architecture to determine correct frame pointer comparison. hrev43483 2011-12-12 08:41:45 -05:00
Rene Gollent
4b64cd3de3 Add architecture function for retrieving the stack growth direction.
Also add corresponding implementation for x86.
2011-12-12 08:40:49 -05:00
Rene Gollent
673c1e4d07 Fix step out for recursive functions.
When asked to step out, we now store the frame pointer of the current
stack frame. Upon hitting our temporary breakpoint, we then verify that
the current frame pointer is in fact in the previous frame. If not, we
reinstate the breakpoint and continue running.
2011-12-11 22:32:42 -05:00
Rene Gollent
12b1aa817a Expose the stack pointer and frame pointer via CPUState. 2011-12-11 22:32:40 -05:00
Michael Lotz
7bdc07318d Fix use after free in error case. CID 10545. hrev43482 2011-12-12 03:37:58 +01:00
Michael Lotz
85819ae108 Remove extra free() that lead to a double free. CID 10546. hrev43481 2011-12-12 03:34:56 +01:00
Michael Lotz
c11c724e25 Remove needless atomic_add() accessing freed memory. CID 10551. hrev43480 2011-12-12 03:15:39 +01:00
Rene Gollent
ebc0d47cc6 Add Debugger to Development package. hrev43479 2011-12-11 20:59:43 -05:00
Michael Lotz
a15a38c104 Fix use after free. CID 10567. hrev43478 2011-12-12 01:58:50 +01:00
Rene Gollent
cfb5f18de4 Correct signature mismatch that prevented this symbol from winding up
in the library properly. Fixes DEBUG build.
hrev43477
2011-12-11 19:33:27 -05:00
Rene Gollent
1394478206 This file had CR/LF line endings for some reason. 2011-12-11 19:31:17 -05:00
Michael Lotz
fe10dd20bf Fix indirect use of fState after deleting it.
Calling SetIcon(NULL) calls MakeEmpty() that tries to delete all
manipulators on fState. So we may only delete fState after that call.

Also reported as CID 10856.
hrev43476
2011-12-12 00:26:40 +01:00
Michael Lotz
d86197cec3 Fix build with DEBUG on. hrev43475 2011-12-11 18:29:55 +01:00
Rene Gollent
d68053959e Flesh out DIESubprogram a bit more.
- Add accessor for return type.
- Implement DW_AT_artificial parsing.
- Store the subprogram's template parameters and provide accessors
  for them as well. Not used yet but will be handy later if/when we
  want to expose the instantiated types somewhere in the user
  interface when stepping into such a function.
hrev43474
2011-12-11 11:20:41 -05:00
Michael Lotz
6ef7d359c7 ASSERT() that there really aren't any wired pages. hrev43473 2011-12-11 17:08:10 +01:00
Michael Lotz
af09f123d3 Create the right cache type ([non-]swappable) on copy on write.
When forking a team, copy on write areas (and therefore caches) are
created for all the areas in the parent team, but they were always
created as swappable. If the parent team had some B_FULL_LOCK areas,
which aren't swappable, the wrong type of cache would be created which
lead to them not being mergeable later on (causing a panic).

Comments about a possibly cleaner way to figure out the cache type
would be welcome.
2011-12-11 17:08:10 +01:00
Humdinger
0a1ac2bfd8 Added Nikola Miljković as Serbian translator. hrev43472 2011-12-11 14:08:43 +01:00
Jérôme Duval
86216323af Fixed math.h part of #2696
* added lgammal_r wrapper
* removed gamma_r and gammaf_r functions from math.h
hrev43471
2011-12-11 12:28:53 +01:00
Jérôme Duval
04fccd250f added hcreate, hdestroy, hsearch from glibc hrev43470 2011-12-11 10:49:18 +01:00
Jérôme Duval
7cd683ba12 fix typo 2011-12-11 10:49:17 +01:00
Rene Gollent
2a8373704a Add missing initialization. hrev43469 2011-12-10 22:53:19 -05:00
Alexander von Gluck IV
dc0d01abcd Cleanup. Move unions into functions that use them.
* Rename unions to match style guide lines
* Group things that make sense together
* Move AtomBIOS argument struct creation closer to what uses it
hrev43468
2011-12-10 19:59:02 -06:00
Fredrik Holmqvist
34b63b5b9d Remove libbe_build linking m from earlier commit and add -lm to HOST_LINK_FLAGS on non BeOS compatible platforms.
(HOST_LIBROOT would need more work than just adding m so I went the easy route.)
hrev43467
2011-12-11 00:45:44 +01:00
Michael Lotz
44c3f5c188 Clean up the mess added in hrev43461 and solve it differently.
* Define a MEMALIGN macro that is either just defined to malloc() or
  to the actual memalign() depending on where KMessage is used. We only
  use memalign() inside the kernel and libroot.
* Add a comment to the macro explaining that this allows the use of
  special heap implementations that might return unaligned buffers for
  debugging purposes.
hrev43466
2011-12-10 23:20:18 +01:00
Rene Gollent
828294f3df Fix broken handling of nested namespaces.
- If multiple nested namespaces were involved in a name,
  GetFullyQualifiedDIEName() would erroneously wipe out each one
  as it walked up, leaving you with only the top level namespace.

- Don't touch the output parameter unless we're certain we succeeded.
hrev43465
2011-12-10 16:57:05 -05:00
Rene Gollent
216a2c7c89 Fix several broken instances of function name generation.
- Use the artificial attribute to more intelligently determine when to omit
parameters. Fixes the first parameter on static class functions being
skipped incorrectly.

- Correctly handle varargs functions.
2011-12-10 16:50:17 -05:00
Rene Gollent
03da60709c Implement handling of DW_AT_artificial for DIEFormalParameter. 2011-12-10 16:50:15 -05:00
Siarzhuk Zharski
eed9bc771c Use "strlcpy" instead of "strncpy" and other Coverity issues
* Yet more nice way to fix Coverity issues fixed by hrev43460.
  Thanks Rene Gollent for pointing it out!
* Potential Coverity issues fixed for sis19x driver too.
hrev43464
2011-12-10 21:52:16 +01:00
Michael Lotz
e339322a88 Fix hrev43405 by moving the reference above the autolocker.
The change in hrev43405 wasn't correct, as it put the reference
object definition after the one of the corresponding locker, causing
the reference to be released before the unlock would happen.

Finally fixes #8187. Thanks Ingo for pointing that out.
hrev43463
2011-12-10 21:35:40 +01:00
Michael Lotz
bcc4a523b6 Fix invalid use of iterator after erase and lock corruption.
* The call to _TeamDied() causes the team that the iterator points to
  be removed from the map. Therefore the iterator becomes invalid and
  may not be accessed anymore (including incrementing it). As we've had
  to unlock, anything might have happened to to map, so take the safe
  route and just start over.
* For each dead team that was found the AppManager was unlocked, but
  there were no balancing lock calls, therefore causing the lock count
  to get corrupted.
hrev43462
2011-12-10 21:23:35 +01:00
Michael Lotz
5585262bb1 Revert hrev43455 and instead just align the size.
While this isn't really correct, it works for the use case it is
intended and doesn't open the can of worms we get when trying to do
memalign() across platforms (due to build tools use of KMessage).
hrev43461
2011-12-10 21:03:14 +01:00
Michael Lotz
33f0ed7a03 Revert hrev43457.
This reverts commit 82929f8a76b4a5f185f9f39cbec3eb42ace7fc06.
2011-12-10 21:03:13 +01:00
Michael Lotz
8eff10a8bf Revert hrev43458.
This reverts commit 80e6a84bf008b3479413d37737f1889bd2a02905.
2011-12-10 21:03:13 +01:00
Michael Lotz
a173514ad1 Revert hrev43459.
This reverts commit c8a48d783c78e1e39c06a102e877d954923f6038.
2011-12-10 21:03:12 +01:00
Siarzhuk Zharski
a188dae8be Fixing Coverity issues. No functional changes
CID 3490
CID 3491
CID 8928
CID 10630
CID 10631
CID 10664
CID 10731
CID 10754
CID 11049
CID 11141
CID 11147
CID 11148
hrev43460
2011-12-10 20:46:40 +01:00
Michael Lotz
c8a48d783c Same as hrev43457 (- the error) but for the bootloader heap. hrev43459 2011-12-10 19:15:10 +01:00
Michael Lotz
80e6a84bf0 Fix alignment mask, sorry for the noise. hrev43458 2011-12-10 19:09:30 +01:00
Michael Lotz
82929f8a76 Add a simplistic memalign() to the runtime_loader heap.
As KMessage now makes use of memalign() the simple heap in the
runtime_loader needs to provide that as well. Fixes build.
hrev43457
2011-12-10 19:07:33 +01:00
Michael Lotz
9a87646122 Only free the old buffer if we owned it and set owning flag.
* If we cloned the buffer due to misalignment, only free the old buffer
  if we actually own it (i.e. if it was allocated by us).
* Set the KMESSAGE_OWNS_BUFFER flag after cloning the buffer. Previously
  the buffer was leaked in the clone case.
hrev43456
2011-12-10 18:46:29 +01:00
Michael Lotz
d0aa07489c Ensure proper alignment instead of just checking for it.
* If there is an alignment requirement then better use memalign() to
  make sure that it is met.
* Since the BMessageAdapter possibly sets a buffer directly, make a
  properly aligned copy of the buffer if it happens to be misaligned.
hrev43455
2011-12-10 17:55:47 +01:00
Michael Lotz
268ddbd76f Fix a few function signatures in the guarded heap.
* Not including malloc.h caused the memalign() signature to not be a C
  signature, therefore leading to linking errors. Fix the missing
  include and explicitly add extern "C" as well.
* Some remaining asterisk style cleanup.
hrev43454
2011-12-10 17:24:10 +01:00
Michael Lotz
3de380692a Update the guarded heap areas after fork.
We don't actually use them for anything yet though.
2011-12-10 17:24:09 +01:00
Fredrik Holmqvist
3cb6104e08 libbe_build has references to math functions so on platforms that has them defined in lib m include it. This allows Haiku to be built with gold as host linker. hrev43453 2011-12-10 17:11:55 +01:00