haiku/build/jam
PulkoMandy 6711cd9e9e bootloader: reduce stack usage
On Sparc Openboot, we get allocated a stack of only 8 kilobytes, and
each called function costs at least 176 bytes for the stack frame.

This means we need to be more careful than usual about stack usage. Move
some large-ish allocations off the stack by either making them static,
or allocated dynamically.

Add a compiler flag to error on functions which use too much stack. The
threshold is at 1023 bytes, because that's what allowed me to find the
two functions that were causing a stack overflow (open_from and
_ParseActivatedPackagesFile)

Change-Id: Ia0d13a9247e1a3fff4ce654bdffd6edb16e7cbc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2371
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 20:23:01 +00:00
..
board system/boot: Add support for multiple bootloaders 2018-10-17 14:47:46 -05:00
images Rename ar81xx to atheros81xx. 2021-10-21 17:19:58 -04:00
packages control_look/decor: Add Flat style to haiku_extras package 2021-10-06 15:23:27 +00:00
repositories sparc: update haikuportscross to current state of repository 2021-10-22 13:59:19 +00:00
ArchitectureRules bootloader: reduce stack usage 2021-10-22 20:23:01 +00:00
BeOSRules Adding the Quick Tour 2019-11-26 06:39:58 +00:00
BootRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
BuildFeatureRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
BuildFeatures remove libicutu from icu build feature 2021-10-22 13:59:19 +00:00
BuildSetup kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
CDRules build: Use the absolute path on more instances of build_* scripts. 2018-11-02 23:26:11 -04:00
CommandLineArguments Remove deprecated build profiles @image and @vmware-image. 2020-05-09 19:35:06 +00:00
ConfigRules
DefaultBuildProfiles build: Small bump to release image size 2021-07-06 13:20:46 +00:00
FileRules build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible. 2019-08-30 17:11:50 -04:00
HaikuPackages Break translators out of haiku.hpkg into a separate haiku_datatranslators.hpkg. 2021-09-30 16:38:36 +00:00
HeadersRules jam/HeaderRules: Put posix before gcc 2019-06-03 13:25:48 +00:00
HelperRules HelperRules: Fix typo in the new CC_IS_LEGACY_GCC test. 2020-10-10 16:24:43 -04:00
ImageRules Fix build on OSX host 2021-08-16 11:17:29 +00:00
KernelRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
LocaleRules LocaleRules: Ignore errors in ExtractCatalogEntries. 2021-09-06 16:45:13 -04:00
MainBuildRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
MathRules
MiscRules build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible. 2019-08-30 17:11:50 -04:00
OptionalPackages Update build packages repository 2021-05-14 14:59:19 +00:00
OverriddenJamRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
PackageRules Break translators out of haiku.hpkg into a separate haiku_datatranslators.hpkg. 2021-09-30 16:38:36 +00:00
RepositoryRules build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible. 2019-08-30 17:11:50 -04:00
SystemLibraryRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
TestsRules unittests: Build copied BAppTest files 2015-11-01 14:19:04 +01:00
UserBuildConfig.ReadMe Update build packages repository 2021-05-14 14:59:19 +00:00
UserBuildConfig.sample Make it a bit easier to skip first boot prompt 2017-01-01 16:59:47 -08:00