History log of /haiku/src/system/libroot/os/area.c
Revision Date Author Comments
# 049eb4cb 09-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

libroot/os: Remove B_CLONEABLE_AREA protection check.

Due to how API versions work, it seems this flag is still applied
on a lot of applications, as some have some rather old API versions
(actually API versions themselves may not be working quite right, to boot.)

All relevant software should have had a chance to be recompiled on
or after beta2, so we reduce the flag's automatic application back
just to BeOS applications.


# 63ec1f9a 11-Sep-2019 Jérôme Duval <jerome.duval@gmail.com>

libroot: check API version to enable B_CLONEABLE_AREA on R1Beta1.

If at least one image is older than B_HAIKU_VERSION_1_PRE_BETA_2, new areas are
marked as cloneable.
Should fix #15244.

Change-Id: I82d7cad969102679084d0ad73430790278e3d15c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1849
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 126d6399 10-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Set B_CLONEABLE_AREA under BeOS ABI.

As you can see, we already did the same for B_EXECUTE_AREA.


# 718d7149 10-Feb-2018 Jérôme Duval <jerome.duval@gmail.com>

white space cleanup


# b6f76ebe 09-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

s/OpenBeOS License/MIT License/ universally, as they're the same thing.

Fixes #8681.


# 07e1875e 15-May-2013 Pawel Dziepak <pdziepak@quarnos.org>

libroot: explicitly check ABI version

As Axel suggested use simple, explicit checks for legacy ABI version
instead of obscure "compatibility mode".


# 5d0a1da8 14-May-2013 Pawel Dziepak <pdziepak@quarnos.org>

libroot: make all areas executable for old binaries

* If at least one image is either B_HAIKU_ABI_GCC_2_ANCIENT or
B_HAIKU_ABI_GCC_2_BEOS almost all areas are marked as executable.
* B_EXECUTE_AREA and B_STACK_AREA are made public. The former is enforced since
the introduction of DEP and apps need it to correctly set area protection.
The latter is currently needed only to recognize stack areas and fix their
protection in compatibility mode, but may also be useful if an app wants
to use sigaltstack from POSIX API.


# 6e2f6d1a 29-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Changed cookie type for get_next_area_info() to ssize_t.

The cookie is used to store the base address of the area that was just
visited. On 64-bit systems, int32 is not sufficient. Therefore, changed
to ssize_t which retains compatibility on x86 while expanding to a
sufficient size on x86_64.


# 5af32e75 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/kernel to src/system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07e1875ea21bd0a05e949cce0d4e4558b6684ee0 15-May-2013 Pawel Dziepak <pdziepak@quarnos.org>

libroot: explicitly check ABI version

As Axel suggested use simple, explicit checks for legacy ABI version
instead of obscure "compatibility mode".


# 5d0a1da8bf914d4a26bba97ba40cbb36bf99ce52 14-May-2013 Pawel Dziepak <pdziepak@quarnos.org>

libroot: make all areas executable for old binaries

* If at least one image is either B_HAIKU_ABI_GCC_2_ANCIENT or
B_HAIKU_ABI_GCC_2_BEOS almost all areas are marked as executable.
* B_EXECUTE_AREA and B_STACK_AREA are made public. The former is enforced since
the introduction of DEP and apps need it to correctly set area protection.
The latter is currently needed only to recognize stack areas and fix their
protection in compatibility mode, but may also be useful if an app wants
to use sigaltstack from POSIX API.


# 6e2f6d1ace7490a200dcff70c52acf2af59c5bc3 29-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Changed cookie type for get_next_area_info() to ssize_t.

The cookie is used to store the base address of the area that was just
visited. On 64-bit systems, int32 is not sufficient. Therefore, changed
to ssize_t which retains compatibility on x86 while expanding to a
sufficient size on x86_64.


# 5af32e752606778be5dd7379f319fe43cb3f6b8c 13-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/kernel to src/system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96