Commit Graph

4541 Commits

Author SHA1 Message Date
Franck LeCodeur 7b1db53111 network/datalink_protocols: Enable Werror as there are no related warnings
Part of #9460

Change-Id: Ibcc30af0c2d351742cbedd6df15b2880b92edfee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4513
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-30 13:33:30 +00:00
Franck LeCodeur 521f76b999 network/stack: Enable Werror as there are no related warnings
Part of #9460

Change-Id: I4958c99c828a34343481b8e6ada877c9124411a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4512
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-30 13:33:30 +00:00
Alexander von Gluck IV 4ef28d2f12 image/definition: Add missing empty control_look, opengl dirs
Change-Id: I3db814c7a05666f4755f3375ec7d5f4295b24d84
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4507
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-29 15:50:02 +00:00
Jérôme Duval 08d9716a9a video_producer_demo: fix comparison warnings
Change-Id: Ibfc8780c55e229190573918a4cf1f119b5e345c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4504
Reviewed-by: Franck LeCodeur <cassisian@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-27 12:15:05 +00:00
Alexander von Gluck IV 3ea6c00608 radeon_hd/riscv64: Add radeon_hd to minimum image
Change-Id: I44211b3533f99338d7246e88593fc8838628904c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4485
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-24 00:48:50 +00:00
Franck LeCodeur 1fb138bf94 ext2: Fix build warnings, enable Werror
This fix is for ticket #9460 to enable -Werror for ext2.

- Unused functions are removed.

- The ASSERT macro was redefining a different ASSERT macro from the included files. Now it gets undefined first.

- One comparison side was cast to ptrdiff_t because X86_gcc2 complained about signed/unsigned comparison

Change-Id: Ib0caade2f83de34c04acc0fc6aa5ed50712daec4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4453
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-16 06:52:00 +00:00
Jérôme Duval 40793c1ef6 RAWTranslator: switch to libraw as backend when available
tested with .cr2 and .dng single pictures.

Change-Id: I9a4802300fd2afe14c085ca18faa8a1e20c52bfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4452
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-14 08:06:41 +00:00
Jessica Hamilton 8f362bfdfc haiku_devel: use relative symlinks to libraries in haiku package.
* This helps with creating a sysroot, otherwise extracted package
  links refer to /system, which is outside of the sysroot.
* Should have no functional impact on Haiku, as these are already
  symlinks

Change-Id: I29f719dc2c0839dd090e7f33eea0b8f98e0d6355
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4218
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-11 11:12:10 +00:00
Augustin Cavalier 37ea891aad Enable -fvisibility=hidden on static libraries by default.
Only on non-GCC2 for now, as GCC2 does not have -fvisibility.

An opt-out is left as a possibility, and is unfortunately necessary
for libshared and libicon, as these two are used even in WebKit instead
of linking to the .a. However, libcolumnlistview, libagg, and a whole
bunch of others are now no longer exported, so this is already a major
improvement on what symbols we were leaking.

This may provide performance differences for consumers of these APIs,
as GCC and the linker are now free to merge and directly use functions
that previously could have been semantically interposed. AGG usage in
app_server, especially, may benefit.

We can also now remove the addition from libnetservices, so do that.
2021-09-08 17:32:47 -04:00
Augustin Cavalier 03980b1fb0 build: Make LinkAgainst recursive for static libraries.
That is, it will now pull in NEEDLIBS and LINKLIBS set by LinkAgainst
from static libraries also built by Jam. This allows specifying what
libraries other static libraries need only once (in most cases;
occasionally things are not evaluated in a sane order and then
this does not quite work.)

Use this for libnetservices.a, which needs libshared.a, so that
dependencies on it do not have to be declared within most in-tree
consumers of libnetservices (e.g. Package Kit, http_streamer, etc.)
2021-09-08 15:03:06 -04:00
Augustin Cavalier 1ea3818ff5 LocaleRules: Ignore errors in ExtractCatalogEntries.
It seems GCC has the same behavior as Clang now, so we can ignore
errors generated while preprocessing. (Previously we did anyway,
before the recent commit adding -e to JAMSHELL flags, so this
just continues previous behavior.)
2021-09-06 16:45:13 -04:00
Augustin Cavalier db0b7d8401 build: Use $rmAttrs and $(RM) in more places instead of 'rm' directly.
Should not result in a functional change in most cases, but it might
on some systems without full xattrs or emulation.
2021-09-06 15:59:44 -04:00
Augustin Cavalier d8ffdea39e build/scripts: Add missing set -e to rm_attrs. 2021-09-06 15:58:03 -04:00
Alexander von Gluck IV 4a70391472 arm: make sure fdt bus_mananger is added for arm
* Fixes build and arm arch alignment for
  AddBootModuleSymlinksToContainer

Change-Id: I39c8270623bf00e484c5eb0335be6da33f1604aa
2021-09-03 17:34:42 -05:00
Fredrik Holmqvist caa2b52eaa Intial HaikuPorts config for ARM64 2021-08-28 17:47:22 +02:00
Fredrik Holmqvist 00ca8b4cf2 Avoid adding uboot for ARM64 bootloader
Maybe it will be needed on real hw later.
2021-08-28 17:42:31 +02:00
Fredrik Holmqvist a6a9b8b703 Remove fdt from arm64 haiku image
Might be added back later, at the moment fdt code is not done
2021-08-28 17:34:10 +02:00
Emmanuel Gil Peyrot 147b47e086 Translators: Add an AVIF translator
This translator only supports still images for now, and supports both
decoding and encoding.

Encoding support has been tested only with aom, rav1e doesn’t build on
Haiku yet, see https://github.com/haikuports/haikuports/pull/5534 for
one of the missing dependencies.

Change-Id: I716f4b862ed316b89b227bfed38072d72074201f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3040
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-27 19:04:28 +00:00
Augustin Cavalier ece327f106 Overhaul "haiku" PackageInfo.
* Merge all except the x86_gcc2 one into a single "generic" one.
   It is now exactly the same on all architectures, save a single
   ifdef for x86_64, which needs a different compat version, as there
   are still some packages built that far back and never rebuilt since!

 * Group the requires according to category: first any arch packages,
   then commands, then the GCC syslibs, then packages always depended
   upon if they are available, and finally packages only depended upon
   in "regular" builds.

 * Put all packages inside HAIKU_BUILD_FEATURE_* ifdef tests,
   and order them alphabetically within their category.

If I have done this all correctly, at least x86_64 should get an
identically generated haiku .PackageInfo as before this commit, save
the reordering changes. Others may differ based on package availability,
as they were missing the requisite #ifdef sections.
2021-08-27 13:40:10 -04:00
X512 a267f17ca6 kernel/vm: fix several vm bugs in riscv64
team.cpp address_space change is needed in
arch_thread_init_kthread_stack to set initial thread page
translation map. It also allows to simplify some debugger code.

DEBUG_PAGE_ACCESS check is currently incorrectly implemented in
RISCV64VMTranslationMap and disabled to avoid panic.

gHtifRegs = 0 change is needed to avoid using HTIF when it is not
available. gHtifRegs != NULL check is used to detect that HTIF is
present. 0x40008000 is TinyEMU HTIF address. HTIF is emulator specific
device that provide serial IO and shutdown capability (and maybe
something else depending on virtual machine).

Change-Id: Ic4d567b28c49799ae0f55223dd983a752823bab4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4328
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-23 13:59:49 +00:00
Fredrik Holmqvist 5ea726b93a Use PIC and shared flags on ARM64 2021-08-21 10:33:59 +02:00
Fredrik Holmqvist 91bf523f3a Update HaikuPortsCross for ARM64 2021-08-21 10:32:57 +02:00
X512 39ddb58870 build/jam: add virtio_mmio, virtio_input to images
* virtio_mmio for riscv64,arm,arm64
* enable new FDT bus for riscv64,arm,arm64

Change-Id: I5141de4e0bfcb44c5368dfafdf68ebf06ca5fb93
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4063
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-20 18:53:31 +00:00
Semion Dimov c39da9b7a0 Fix build on OSX host
FreeBSD's stat command doesn't support -c/--format option and use %z specifier for file size

Change-Id: I368b6eef0a692df0f16bc1c3d5b5399fcf91e051
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4326
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-16 11:17:29 +00:00
X512 7e6b3c0787 HaikuPortsCross/riscv64: update GCC package
Change-Id: Ifb2158822df63121397ccbe7dadaba44594832d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4073
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-06 07:33:42 +00:00
Alexander von Gluck IV 6b0e805d8c haikuports: Bump haikuwebkit for font fix in images
Change-Id: I4d109045336d5bcdeac90c42d8fd1c4201f20933
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4238
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-22 11:48:09 +00:00
Alexander von Gluck IV 2703c740d8 haikuports: Bump haikuwebkit in image to 1.8.2-1
Change-Id: I5404446ac9e1280300e8252a609d72ec43b297bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4213
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-16 20:14:56 +00:00
Jessica Hamilton f0c702e2c1 build: add rpath for build tools.
* Allows invoking build tools at the command line without having
  to mess with the LD library path environment variables
* Does not change the use of HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
  within the build itself
* Darwin currently excluded, as it uses a different method for
  specifying rpath

Change-Id: I4db443f2b5824ee70ad44418251a9996c14663bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4163
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-11 12:12:57 +00:00
Alexander von Gluck IV 12bb3886c5 build: Small bump to release image size
* Haiku now consumes right at 700 MiB on x86_gcc2h
  after the webkit update.

Change-Id: Ia41a3e6252190e73feaa49ebe7c58ef4c80df4dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4161
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-06 13:20:46 +00:00
Alexander von Gluck IV fae4769be6 build/HaikuPorts: Update haikuwebkit build packages to 1.8.1
Change-Id: Ia451535775c6e64f77739907b0d58cc2fc8837cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4159
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-06 00:42:12 +00:00
X512 5478ac965d ati: fix for 64 bits and non-x86 architectures, SMAP fixes
ATI graphics driver is useful for QEMU option `-device ati-vga`.

Change-Id: Ia932d07d23b16cd9e2eefe65821a38a87427c416
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4116
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 09:16:59 +00:00
X512 72e0f9bff5 ati.accelerant: 64 bit fixes
Change-Id: I0f82dfe7bc73122546d262ab7e94010f1adff500
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4115
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 09:13:57 +00:00
Han Pengfei 5a1731bcbc arm/build/ldscript: import ld script and build paras from riscv64
- This will fix page translation fault when accessing
static variables.
- Now with this patch, we made uart pl011 works for qemu.

Change-Id: I8eecc18ad05bd950768b49d9ed268c4c2a3baf25
Signed-off-by: Han Pengfei <pengphei@qq.com>
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4123
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-03 09:11:04 +00:00
Jessica Hamilton 977a873ab2 Build: replace mtools with fatshell.
EFI System Partition was the last remaining holdout for mtools usage.

Change-Id: I988f82a2f4318f2f90ec1efb80f7ff5c8908aff7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4140
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-02 04:07:41 +00:00
Alexander von Gluck IV 32e0fe7000 haiku: Add all bootloaders to haiku package
Change-Id: I854de44c1b31066dfa522b946cb04a5190f6b0b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4113
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-27 23:00:11 +00:00
Alexander von Gluck IV 02a8f8b29c build/image: Slightly bump release image size
* Solves out of space issue building release images

Change-Id: I888836774732f65fde3574ef498b272d8285356f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4107
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-22 00:09:53 +00:00
Alexander von Gluck IV 79f4d9757e x86_64,x86_gcc2: Bump repo files to fix release build
Change-Id: Ifcf88c23a658deedc76b683ac9f2f3c421203204
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4104
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-21 20:41:40 +00:00
Alexander von Gluck IV ce5993fdb7 version: add BETA_3 and PRE_BETA_4 constraints.
Change-Id: I65b4889042c4c92086fade535622ef12b368a968
2021-06-21 11:38:54 -05:00
Alexander von Gluck IV 9918c82954 data/trust_db: Introduce a selection of trusted public keys to our filesystem
Change-Id: I7bf7d5dac5bb576f9ca5fc55680fc369556f4312
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4044
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-13 16:30:14 +00:00
Alexander von Gluck IV 1a5fe94b7a riscv: Fix build, handle .riscv loader
* We accept the riscv loader to build it, but don't really put it
  into the image since for now you'll just want the haiku_loader.riscv
  for things like TinyEMU

Change-Id: I5005dd5063f2a84cf426db4c40635e87e579ad80
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4075
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-08 02:19:02 +00:00
X512 d407b17b18 kernel: riscv64 patches
Change-Id: I8ebcbaa395cbccb50af08fd2f1b049b5cbb949c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3883
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
2021-06-07 07:14:23 +00:00
X512 a182bd6eb5 haiku_loader: initial support for RISC-V TinyEMU
Change-Id: Ie102f466725f45072db25a9629fa8e28526484eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3882
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-05-27 17:35:27 +00:00
Jérôme Duval 22c72a99f9 build: remove wavelanwifi from the default image
wi(4) was removed in FreeBSD 13

Change-Id: I4008dba521e6246c817668f49169db1559908824
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3957
Reviewed-by: Rene Gollent <rene@gollent.com>
2021-05-20 21:21:39 +00:00
Jérôme Duval 65f52a5f56 build: remove the firewire support from the default image
decommissioning.

Change-Id: Ie7ccba705f7282193120241479d2ae83bd271b2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3956
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-05-20 21:21:39 +00:00
Alexander G. M. Smith b5efad4eae PackageKit: Remove hard coded first boot package processing scripts.
Once change 2342 is in place (running first boot scripts exported from
packages), see https://review.haiku-os.org/c/haiku/+/2342,
remove data/system/boot/post_install/add_catalog_entry_attributes.sh
and related support infrastructure (magic files, launch_roster entries).

The work this script did can in fact be done at image creation time
instead of at first boot.

Change-Id: I485e1a0a87c3e6a6ba3f882e65996f2327134d37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3751
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-14 16:08:17 +00:00
Adrien Destugues 3b3bcbf7aa Update build packages repository
- Switch to Python3
- Switch to mawk instead of gawk
- Update ffmpeg (there are several new dependencies)
- Update ICU
- Fix various pre-existing problems with packages not being properly
  declared for gcc2 (but somehow it ended up working)
- remove curl, subversion, mercurial

Confirmed that both nightly and release images are building fine on both
32 and 64bit. However, non-x86 architecture may require re-bootstrapping
to do a complete nightly or release image build (the minimal profile
should be fine)

Fixes #16751.

Change-Id: Iacac92923c4113b3e0a49a64b0b4cc1b8e2f5e2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3871
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-14 14:59:19 +00:00
Zoltán Mizsei e7e3b6c14a build/cross_tools_gcc4: explicit disable libatomic and libgomp
Change-Id: If8cad96420cd249106c611aaf59353adab1271ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3897
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-06 08:13:40 +00:00
Jérôme Duval 04be20a75a Implement stack protection support
this adds kernel & libroot stack protector hooks. it uses /dev/random in userspace.
A configure option --enable-stack-protector is added to activate -fstack-protector
on selected system components (ATM apps, kits, servers).

Change-Id: If3a2920ba9aa0a85eaff4ba6778947f8c76ade31
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3895
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-03 17:52:31 +00:00
Dancsó Róbert 2cba2d5642 Added localization support for Cortex app.
* Fixes #7530.

Change-Id: I238c4c8fe32b181a8e1a4bd688bcbe9f3a87f79f
Signed-off-by: Kacper Kasper <kacperkasper@gmail.com>
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3169
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-03-22 18:50:39 +00:00
Fredrik Holmqvist a2def606ed ARM64 packageinfo and haikuports
Change-Id: Id5ad7682ecb7b4bda364f839b106b016ca4f4b0b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3738
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-02-07 12:17:21 +00:00
Fredrik Holmqvist fecc9c1295 HaikuPortsCross/arm64 minor version update
Change-Id: I2dc46e5c99aae6ac372857c8065741e56847bddc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3736
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-02-07 12:17:21 +00:00
Fredrik Holmqvist 9e4c5cf124 Add -std=c++14 to build_cross_tools_gcc4
CLang fails to build ISL otherwise, and if you are setting up
cross compiling, you should have a modern enough compiler

Fixes #16434

Change-Id: Ieb4a33015899896ea3bb2d1abc59b10fe0b4b3f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3730
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-02-02 17:44:47 +00:00
Niels Sascha Reedijk 1b133b90fd libnetservices.a: create new static library for the network services
These will be added to the _devel packages so that other applications can link
to them.

Change-Id: If3fd231869823b42d6d896c6c9eb7a95c5fe715d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3666
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-01-27 19:53:11 +00:00
Alexander von Gluck IV a78cc92a16 build/riscv64: Bump build-packages from unbootstrap
Change-Id: Iba1d9193479d1d39acf705456b58b732764faa4e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3659
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-01-20 19:38:14 +00:00
Alexander von Gluck IV d123849688 build/cross-tools: explicitly set ISA for riscv64
* Enable TLS for riscv64. For now select a dummy
  implementation.
* RISC-V has a register (tp) dedicated to TLS
* All the "desktop-like" RV64 chipsets implement GC
* Same ISA we currently build for... but calls it out
  in-case defaults change.

Change-Id: I623b6e5c309b6a6e80ec378e456b2335c561269d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3632
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-01-20 19:38:01 +00:00
Alexander von Gluck IV f8650bc2db jam/ArchitectureRules: Bump SDIMAGE_BEGIN to 2KiB
* If we start at 0 we overwrite the partition table
  with the EFI boot filesystem

Change-Id: I7d1d5d65cdaf78f3bd3b87672e1e8e161f78ce75
2021-01-12 15:03:40 -06:00
Alexander von Gluck IV 0b10216c7c build/mmc: Add host libraries for fat_shell. Drop unused var
Change-Id: I16a93fd4161569eb756ec244f3f5c1b768247089
2021-01-07 16:05:46 -06:00
Alexander von Gluck IV 58332722cd build/mmc: Drop usage of mtools, use internal tooling
* Fixes the ARM image to actually include Haiku within
  a partition on the SD card.
* Drops the mtools requirement
* Drops the C/H/S requirements

Change-Id: Ie2776a09399ac181daab7a503e96e27ab7093af4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3608
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-01-07 21:34:00 +00:00
Adrien Destugues cc2642c124 sdhci/mmc: add to the image.
Change-Id: Ic43965efea2c62b6e731c7552e4f27d6d20fc26b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/448
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2021-01-05 02:06:44 +00:00
PulkoMandy c99c0d9d5a sparc: kernel needs to be position independant
Change-Id: Id3da074c1c02dfc5bdedb8e1d0d5c2130c978325
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3582
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-01-01 00:45:13 +00:00
PulkoMandy cc6b376cfb KernelLd: the kernel must be rebuilt when its linker script is modified.
Change-Id: I4f8bf6757b716f910116509419452cfc4c7f6216
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3580
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-01-01 00:45:13 +00:00
Fredrik Holmqvist cb26d04e81 arm: kernel link cleanup and fixes
* Removes several previous hacks, and makes kernel loading
  by our bootloader more reliable.
* Long list of "Couldn't find both text and data" errors
  no gone in our bootloader as it loads our kernel

Change-Id: Ic9f5ed44975d41fb22d7ab19536261432abe84ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3444
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-11-30 22:08:32 +00:00
Alexander von Gluck IV 6655809041 haikuports/icu: Reintroduce old icu to fix build
Hardlinked-By: Alexander von Gluck IV <kallisti5@unixzen.com>
Change-Id: I1a76647fe47949e950b4034629ad92ca16c53aa8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3325
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-10-16 21:44:37 +00:00
Adrien Destugues 019a5fdfb1 update to icu 66
Hardlinked-By: Alexander von Gluck IV <kallisti5@unixzen.com>
Change-Id: Id37ef57b0042722ca8089e73d420d6e4edac1019
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3121
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-10-16 20:56:44 +00:00
Alexander von Gluck IV f598f71cd5 build/cross_tools_gcc4: x86_64, explicit enable-multilib
* This was originally added circa 2012. via hrev43954
* Our toolchain appears to work fine now with explicit
  multilib enabled.

Change-Id: I1f5d55c63a6b3b6ab1c4db95da3d14d5ef2da0df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3315
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-10-15 12:48:38 +00:00
Alexander von Gluck IV c33a98eebc build/scripts/gcc2: Specify -fcommon as the default changed in gcc10
* gcc10 changed to -fno-common default
* Resolves #16520

Change-Id: I9af2234532177f2153159eea94a05a106587ebbb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3317
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-10-14 15:36:20 +00:00
Augustin Cavalier fb0391c28b ArchitectureRules: Fix typo in CC_IS_CLANG test. 2020-10-10 16:26:41 -04:00
Augustin Cavalier af07b876ad HelperRules: Fix typo in the new CC_IS_LEGACY_GCC test. 2020-10-10 16:24:43 -04:00
Augustin Cavalier 47320dd0ab configure & build: Rework legacy GCC detection to parse versions outside of Jam.
Jam comparison logic is string-based, and so was detecting GCC >= 10
as being < 2. This rectifies that by removing the GCC version parsing
from Jam logic entirely, and setting various BuildConfig variables
instead.

Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-10-09 01:20:02 +00:00
Puck Meerburg df63c15b9b build/jam: use ARFLAGS if set
Combined with a buildtools CL, this will change the AR variable
to be more in line with conventions, where AR points at the binary and
ARFLAGS are the arguments to AR, while keeping compatibility with the
original style of using the AR variable.

Change-Id: I2b9797b9e5ab35929970487b3d1b8dddb9476c1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3227
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-16 19:16:11 +00:00
Alexander von Gluck IV b24dbf95d0 riscv64/boot: Add same u-boot potential that arm has, drop L_DYNAMIC
* Tianocore is still in an early state for RISCV64 with a lot of work
  needed around qemu support.
* u-boot however is working, and can load EFI binaries... so follow the
  arm model for now. (EFI via u-boot, or EFI via EFI Bios)

Change-Id: I3dfde25db17b114aedce6faefc58d7556e17a46a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3176
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-02 20:55:06 +00:00
Alexander von Gluck IV b3cd2bdfa7 riscv64: Generate a bootable EFI MMC image
* mmc might be not ideal. But raw is just a single partition and
  anyboot is heavily x86. MMC will technically work for now to get
  bootable images.
* floppyboot isn't used on EFI platforms, since we call two different
  actions, just drop floppyboot altogether on EFI SD Images.

Change-Id: Idabb5483304007dd601bf8a1158036ffd24f73aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3165
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-25 12:53:56 +00:00
François Revol 48099e3e48 m68k: don't take CD boot stuff in floppy image
Note it is not enough to fit, you also need to disable USB boot.

Change-Id: I5159c9ddebb242c4d4874d70430da6852073fdb4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3102
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 13:39:53 +00:00
François Revol 5c9d51ef00 m68k: make sure boot & kernel code can run on 020-060
Change-Id: I5830085fcd6120600ff3be85a2fdd2602e1935fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2221
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 13:35:41 +00:00
François Revol ec5a799719 m68k: add next_m68k boot platform
Since the boot ROM API structure is declared with a custom alignment, we
simulate it with padding bytes around, and use aligntest.prg to verify
using ARAnyM + TOS/MiNT as we know how to link simple PRG files.

It now prints something to the screen then panics when initializing the
heap.

For now one must insert the loader manually into an existing floppy
image:
dd if=generated-m68k/objects/haiku/m68k/release/system/boot/next_m68k/haiku_loader.next_m68k bs=$((0x8000)) seek=1 of=next_floppy.img conv=notrunc

Change-Id: I06d74e9d85a352aab68dedce545bbe5fe9e990d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2220
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 13:35:19 +00:00
François Revol a088631dc6 build/repositories: Fix m68k HaikuPorts and Cross
Change-Id: I0ebdd096558a6f060d6bcd56807903f1496e8ed6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2211
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 00:08:10 +00:00
Michael Lotz 44c014b0af es1370: Add driver to build.
Works under QEMU with some glitches.
2020-08-17 21:05:37 +02:00
Adrien Destugues 2c09e0dc7f Installer: separate writing bootsector from other install finishing code
Remove the InstallerInitScript (it does nothing) and the
InstallerFinishScript (it does too many things). Instead implement the
finishing directly in Installer. Separate writing the bootsector, so
that the "write bootsector" menu writes only the bootsector.

Fixes #16303
2020-08-05 12:52:04 +02:00
Adrien Destugues 1bad1ff34a Prepare for ICU update
- libicule and libiculx do not exist anymore in newer ICU versions
  (harfbuzz replaces them), but we didn't actually use them, so remove
  them from the build feature and from the package dependencies
- Add namespace usage marcos since the newer ICU packages put ICU things
  in a namespace, making it easier to have multiple versions of ICU used
  side by side.

No functional change intended, but this makes it possible to build the
code with either ICU 57 (for gcc2) or 66 (for other architectures).
2020-08-02 11:58:14 +02:00
Alexander von Gluck IV 6f92b552f3 libroot: Add fake libc static library
* It's specified in POSIX: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html
* wine hardcodes a -lc in its winegcc compiler

Change-Id: I592b62085787d8f1a1ead2df32e978a91ab03ea9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3086
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-07-28 17:01:13 +00:00
Adrien Destugues 12ef216972 build_haiku_image: no fs indices on CDs
The iso9660 filesystem does not support them
2020-07-22 17:48:32 +02:00
Adrien Destugues 5b80a2fa0d build_haiku_image: don't recreate indices when updating
mkinex fails when the indices already exist.
2020-07-21 18:38:06 +02:00
Adrien Destugues c5aa9dfb4c Create filesystem indices when creating Haiku image
Fixes #4424.

Change-Id: I737ee4f9bb70ce48c0c94f3a862a3073da8c0c4d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2796
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-07-18 14:00:10 +00:00
Fredrik Holmqvist d9f74c873b Graphite options only, replace dupes with floop-nest-optimize
Other loop optimization is enabled in -O3 already
2020-07-18 15:19:44 +02:00
Fredrik Holmqvist 7cea5bf07f Remove graphite building, we have gcc with these deps in build
When we moved ISL, MPFR, GMP and so on inside GCC we no longer
need to do any specific building to support graphite.
2020-07-18 15:19:17 +02:00
Alexander von Gluck IV b4e10d71e6 arm64: Attempt to build efi bootloader
Change-Id: I90a9440898994459f8d6de922a3f363fbeddaaf4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2974
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-07-01 13:47:07 +00:00
Alexander von Gluck IV 9f739dd2e8 u-boot/arm: Break script out of Jamfile. Add EFI support.
* boot.scr was growing past Jam MAXLINE and was causing segfaults
* Break out to tree, data/boot could be used for other arches
* boot.scr is getting a bit complex, but supports the old
  u-boot haiku_loader, as well as u-boot starting our EFI loader.

Change-Id: I93a3167ab0bc78747c1d70fedd08595e9ac89662
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2963
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-29 16:18:32 +00:00
Alexander von Gluck IV 398b7899e8 arm: Generate proper mmc image
* Stub out makebootable like on u-boot
* Place haiku_loader.efi at EFI/BOOT/BOOTXXX.EFI
* Generate boot.scr for u-boot + EFI
* haiku-mmc.image now attempts to auto-boot in qemu-system-arm
* Same code paths should roughly apply for arm64,riscv,etc

Change-Id: I563ebd77422d9e5dfcfeeedadcbc60471e8a57f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2938
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-22 18:48:20 +00:00
Preetpal Kaur 13b45a2ea3 Integrate PadBlocker in input preferences
- Import padblocker sources
- Add slider to set padblocking time
- Generates PadBlocker settings

Fixes #11673

Change-Id: Ic88416215aabb1ae6aba79ff41cb55a7f0f8008d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1590
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-22 15:08:48 +00:00
Alexander von Gluck IV 0ed9b677ee arm: switch to EFI, drop FDT in loader
* This should 'fix' the arm build
* No longer parse FDT in bootloader, just pass ptr.
* The EFI loader doesn't load yet on arm
* It compiles though. Ship it!

Change-Id: I7c8ce588298dfaf4fba8054c6b6d9a92733b5943
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2903
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-20 18:35:36 +00:00
Alexander von Gluck IV 797e861029 arm64: Fix libroot math, add fix crosstools package revision
Change-Id: Ibce15f70e20ea010937edb0a297d220c4e5a7af2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2817
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-10 00:44:14 +00:00
Augustin Cavalier c4bc688304 HaikuPorts: Sync build-packages again.
Change-Id: I595af8dda23baad924a053ffa685ddddb83de11d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2884
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 4c383d13a8)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2885
2020-06-06 01:41:18 +00:00
Adrien Destugues 68ea01249e Add a partitioning system for Sun disklabel/vtoc
This is the partitioning system used on sparc machines.
Confirmed working with a Solaris install iso image.
Added to the haiku package for sparc and to haiku_extras for other
architectures.

Fixes #15638

Change-Id: I0584bef5e6a66eff9a33eb6675d5533cc9a45d1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2709
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-03 11:24:25 +00:00
Augustin Cavalier 734c1e0491 HaikuPorts: Update build-package set.
This pulls in the final translations for applications for R1/beta2,
and also the new HaikuWebKit.

Change-Id: I2bfb8933dcf35239f6962f8bee2dea507dec6fd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2869
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-06-03 04:11:40 +00:00
Niels Sascha Reedijk 15aa3a02a3 Documentation: add userguide in fur, id, ro and tr
Change-Id: Iee02ec9c62a3fdf14920c3b08ebb97c282a5aa91
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2788
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 5527f11778)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2789
2020-05-23 17:52:52 +00:00
Kyle Ambroff-Kao 44a4bc5fd6 tcp: Remove sanity checks from BufferQueue in release builds
Each TCPEndpoint has two BufferQueue members, one for the send queue
and one for the receive queue.

If DEBUG_BUFFER_QUEUE is enabled, then most methods of BufferQueue
call BufferQueue::Verify(), sometimes twice. This member function
performs some sanity checking which requires iterating through every
net_buffer in the queue.

Disabling this in a debug build improved throughput by a factor of 5x
over the loopback interface on my laptop. Using iperf the measured
throughput went from 900Mbps to around 4.8Gbps.

This patch turns this sanity checking off for release builds.

* Rename DEBUG_BUFFER_QUEUE to DEBUG_TCP_BUFFER_QUEUE
* Change the default in BufferQueue.h to disabled
* Set DEBUG_TCP_BUFFER_QUEUE to KDEBUG_LEVEL_2 in
  kernel_debug_config.h

Change-Id: I262dac5d7e2889d2942bbdcf6b667cc0cbafa4c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2780
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-23 02:32:58 +00:00
Adrien Destugues 13d66b6d24 Fix building on Haiku 2020-05-21 10:47:31 +02:00
Alexander von Gluck IV a742970be5 Fix build of Haiku on gcc10 host
Change-Id: Iea16a7d07a32497c4f228739945356b5c8be9897
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2540
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-21 01:35:10 +00:00
Adrien Destugues 39c68f46dd Remove deprecated build profiles @image and @vmware-image.
The @image build is not used anymore and doesn't work. Use @nightly-raw
or @nightly-anyboot instead. The new method of release type/image type
configuration of profiles is more flexible and allows to manage the
various configurations a lot more easily for us. But the old profiles
were never formally deprecated.

Fixes #15963

Change-Id: I1c72f0e77bfbcda10502476e595f120280e8c7a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2625
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-09 19:35:06 +00:00
Augustin Cavalier cac30e4190 kernel_debug_config: Move global VMCache option to KDEBUG_LEVEL_2.
It does have a performance impact (as it serializes all VMCache
creations), and it is not that useful, so move it to KDEBUG_LEVEL_2
so that the beta releases (on KDEBUG_LEVEL_1) are not affected
by it.

(The nightlies are on KDEBUG_LEVEL_2, so this will not affect
them.)

Change-Id: Iab35d58f9d210651e3fd9027b75ea27a7a6928e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2612
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-09 03:43:20 +00:00