* Add WebKit optional package.
* Make WebKit a dependency of WebPositive
* Enable building of WebPositive from source.
Note: WebKit currently expands to lib/. Alternative gcc-subdirectories
are not taken into consideration. Though it is trivial to change.
* Patch from #6885: This filters out any disallowed characters from text
being pasted or dropped in. If the resulting filtered text is zero
characters long, it beeps. Works with styled text too.
* Coding style: variables renaming by korli.
This is an update from 20110922 and A LOT has happened since then. See
https://acpica.org/download/changes.txt for all the changes.
One of the more interesting is some problems with shutdown in ACPICAhas been fixed.
There may still be problems on our side though.
Not sure why but GCC 2 seems to be ignoring the extern "C" in smp.h when
compiling smp_boot_other_cpus() resulting in undefined references. Fixed
by putting extern "C" on the definition too.
Currently all debugger commands assume 32-bit pointers when formatting their
output. This means that on x86_64 the output is incorrectly formatted. Fixed
this by adding a B_PRINTF_POINTER_WIDTH definition (16 on 64-bit, 8 on
32-bit), and using this to correctly format the output. Not all commands have
been fixed yet, but all VM, slab, VFS, team, thread and image commands should
be correct.
- When binary searching functions in the source entry list,
comparing by name and location alone isn't sufficient, since
templates will match those for different instances, Fixes a crash on
exit where the wrong function would get removed from the list, while
the one we actually wanted to remove was still in the list, but then
had its source code cleared. This would later crash the comparison
function due to not being able to get its source location.
- When an image was unloaded, its corresponding image info was never
removed from TeamDebugInfo's list, leading to the latter containing
a deleted object, resulting in various random crashes.
- When attempting to unwind the call frame, we now search for the appropriate
FDE in both .debug_frame and .eh_frame. This mirrors gdb's behavior and
works around the ever-changing whims of the gcc developers as to which
section the requisite FDE/CIE resides in.
No major changes to the kernel: just compiled in arch_smp.cpp and fixed the
IDT load in arch_cpu_init_percpu to use the correct limit for x86_64 (uses
sizeof(interrupt_descriptor)). In the boot loader, changed smp_boot_other_cpus
to construct a temporary GDT and get the page directory address from CR3, as
what's in kernel_args will be 64-bit stuff and will not work to switch the
CPUs into 32-bit mode in the trampoline code. Refactored 64-bit kernel entry
code to not use the stack after disabling paging, as the secondary CPUs are
given a 32-bit virtual stack address by the SMP trampoline code which will
no longer work.
This matches layout in ACPICA and keeps a cleaner boundry between
Haiku and ACPICA code. The only haiku specific file in ACPICA is
achaiku.h and it will hopefully be included upstream soon.
Merging will be simpler as we can just replace acpica contents and
fix Jamfile and build errors in our code.
- The buffer that the debugger used to retrieve messages from
the debug port was slightly too small for the largest of the message
data structs (currently 1100 bytes), causing some types of debug events
to get truncated. This resulted in image creation/deletion events being
received with a truncated image_info struct, which would result in several
fields being returned with random values, most notably the text/data base
and size fields. Consequently, searching those images for an address within
them would fail, leading to #8709. It's possible but not yet confirmed
that this bug is also responsible for #8710, need to test further.
- The version of instantiate_object() that returns the image id from which
the object was reinstantiated was not correctly returning it in all
circumstances, only if it had to find/load the add-on itself. This caused
problems for BShelf since the latter relies on that image id in order to
determine what image to unload when replicants are removed. To remedy this,
introduce an additional version of find_instantiation_func() that returns
the image id in which the instantiation function was found, and make use
of it in instantiate_object() in order to also be able to return the image
id in that case.
* Use gcc and g++ rather than cc and c++, as the latter now point to
clang with recent Xcode versions and compilation of the host tools
fail for various reasons with it.
* Replace the case-sensitive filesystem check with a more basic one,
as diskutil no longer supports the behaviour of getting info for the
volume that any path is on.
* Updated ReadMe with a correct list of prerequisites for OS X.
* GCC 2 builds are still broken due to a strange error that only
occurs with a GCC 2 built on OS X 10.7
Several build features (including a future patch for WebKit)
are enabled only if a respective optional package is added.
Prior to this, none of those build features could be activated
in a sub-jam process.
A proper page fault handler was required for areas that were not locked
into the kernel address space. This enables the boot process to get
up to the point of trying to find the boot volume.