Commit Graph

4532 Commits

Author SHA1 Message Date
Augustin Cavalier
573b7b1f21 ArchitectureRules: Temporarily disable -Wno-error that GCC 8 does not like. 2021-11-16 22:48:40 -05:00
Augustin Cavalier
38dc3bf2c5 ArchitectureRules: Add two new -Wno-error flags.
The use of the "register" keyword is harmless, though we should eventually
remove it.

Taking addresses of packed members is "mostly harmless" on x86 where
unaligned accesses are OK. It's less harmless on other architectures,
but we sometimes use packed structures when manually aligning things.
Unfortunately GCC throws this warning even when the actual pointer would
be aligned, not merely when it's unaligned, making the warning far too
noisy and not really that useful.

"Found" by GCC 11.
2021-11-16 15:10:05 -05:00
Fredrik Holmqvist
e6f4113978 [arm64] Set march to armv8.2-a+fp16, fix posix math
The march can be reduces later if needed.

Use arm64 optimized math, and set std=c11 so
__FLT_EVAL_METHOD__ is 0 and not 16:
https://gcc.gnu.org/bugzilla//show_bug.cgi?id=100854
2021-11-09 21:59:31 +01:00
Alexander von Gluck IV
a80813fdd1 qemu/riscv64: Misc fixups for qemu
* Disable overly verbose PCI IO access
* Add ati to riscv64 minimum image for qemu
* Update qemu test script with "best" gpu settings
  for the moment

Change-Id: I5d16ace0f8589f8b17cc50c7a1db04266907269f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4699
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-07 09:58:15 +00:00
David Karoly
acf8592e82 build: don't use regular TARGET_*_FLAGS for .S files in bootloader
This is one more change to prepare for the transition to soft-float for the ARM EFI bootloader.
We need this change to remove the kernel compiler flags from .S files for the bootloader. Otherwise there would be hard-float and soft-float flags at the same time, giving a compile error.

Change-Id: I0b66c3c16937228eb76351e359160187d3ab826b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4690
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-11-05 19:49:08 +00:00
David Karoly
95424a7096 Update HaikuPortsCross package versions for ARM
Change-Id: I918829e69bc92f295720f884f724a19dc4fe3d46
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4684
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-11-05 14:55:18 +00:00
Alexander von Gluck IV
38eb9fb0eb boot/ppc: Cleanup paths, use hfs vs hfsplus
* Move assets to new boot directory
* -hfsplus not valid anymore on cdrtools 3.02
* Throw down some forth I saw in an *old* fedora 12
  chrp script.  If we ever target ppc64 it might be
  handy someday. The text output also lets you know
  the cd booted successfully.

Change-Id: I169d887fe8373de1719b98305d01b714f6f6bcbe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4681
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2021-11-03 13:58:48 +00:00
Augustin Cavalier
f638102196 Remove conditions for HOST_PLATFORM=msys.
It never really worked beyond the most basic of commands
and required a lot of hacks, and these days WSL should be used instead.
2021-10-22 17:03:44 -04:00
Augustin Cavalier
87bdb69ccf Remove termcap from the build.
libtermcap was deprecated in favor of terminfo in 2013; the library was
removed then, and this file was only left because not all optional
packages had yet been rebuilt against ncurses. Well, that has now
long been completed, and indeed all applications continue to function
even after removing /etc/termcap.

In case any legacy applications that I have missed still do need it,
it should be provided by HaikuPorts and not Haiku itself.
2021-10-22 16:43:01 -04:00
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
PulkoMandy
2adb6e18db sparc: update haikuportscross to current state of repository
Most importantly include zstd, which is a new requirement for the
bootstrap build.

Change-Id: I981401e7d70fb7e1befaf7fc37f2fddc6d7e327d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4635
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 13:59:19 +00:00
PulkoMandy
60533c0e15 remove libicutu from icu build feature
This is an internal ICU library, used by their command line tools only.
libbe (or anything in Haiku sources) does not need to link to it.

Change-Id: Id322572c6833c225d5501a7e9520dd3dc82934f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4634
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 13:59:19 +00:00
Fredrik Holmqvist
51d591cdfe Add zstd for arm64 bootstrap
Currently doesn't buld due to problems with gcc neon headers though.
2021-10-22 08:25:09 +02:00
Augustin Cavalier
7916c1ca0f Rename ar81xx to atheros81xx.
The other Atheros drivers are "atheros813x" and "atheroswifi",
so renaming this one (which is the oldest of the set) to match
the other two makes sense.
2021-10-21 17:19:58 -04:00
Alexander von Gluck IV
a139e89af2 arm64: Add build-packages synced with server
Change-Id: I824b6f3c6920a13fb51a8f2feb71201014ffeb0a
2021-10-20 16:28:23 -05:00
Franck LeCodeur
245e831213 file_systems/googlefs: Fix warnings and enable Werror
Part of #9460

Change-Id: I1dc3271b72886ede8db3c78e39b12de873c3e8bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4572
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-20 18:01:15 +00:00
Franck LeCodeur
718fce997a drivers/input: Fix warnings and enable Werror
Correct signedness for comparisons, remove unused code, remove unused variable, correct variable type for callbacks

Part of #9460

Change-Id: Ie48e8498e0830ed8b175986aaf82b94a1d99b72f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4570
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-20 18:00:36 +00:00
Alexander von Gluck IV
9b6c4b320f riscv64: Add zstd to build-packages
Change-Id: If2a58d9ab49c3c6901356274cff854b282fb9429
2021-10-20 12:22:42 -05:00
Augustin Cavalier
66415cd209 Remove dumb-framebuffer handling logic from the VESA driver.
This reverts commit a0db7ef272.
This reverts commit 40cdf7d607.
This reverts commit 2ff22d6734.
This reverts commit b9eacd390d.
This partially reverts commit 5ae7ac5fd9.

This was all added in the run-up to the removal of the framebuffer driver,
or was added since then to enhance framebuffer-only support in that driver.

Change-Id: I32ab8199f22cf6846545ae19e943c98012b2a1d0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4615
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:12:21 +00:00
Augustin Cavalier
c5325c6690 ArchitectureRules: Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET on x86.
The bootloader is larger after adding zstd and needs more space now.
384 is the value used already on PPC and SPARC. Fixes generating
floppyboot archives for anyboot images following recent changes.
2021-10-19 20:59:26 -04:00
Augustin Cavalier
945c0e0786 HaikuPorts/x86_64: Mesa 21 needs LLVM 9 libs. 2021-10-19 18:27:47 -04:00
Augustin Cavalier
dedd2be949 BuildFeatures: Enable zstd on x86_gcc2.
Now that the kernel is built with GCC8, this does not cause problems.
2021-10-19 16:57:10 -04:00
Augustin Cavalier
96b062f1ce BuildFeatures: Enable AVIFTranslator on more than just x86_64. 2021-10-19 16:54:11 -04:00
Augustin Cavalier
b6442ab7fa BuildFeatures: Fix reference to libavif.
AVIFTranslator now builds.
2021-10-19 16:44:27 -04:00
Augustin Cavalier
c6242ccf75 HaikuPorts/x86_64: Update build-packages set.
Now libavif_devel is properly included.
2021-10-19 16:44:25 -04:00
Franck LeCodeur
628ddb2790 usb_webcam: Fix warnings and enable Werror
Done as part of #9460

Change-Id: I45f53451c91d63f5e5170234c75a831472cfffc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4501
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-18 16:28:20 +00:00
Franck LeCodeur
23d7ddafcc input_server/methods/pen: Enable Werror as there are no related warnings
Part of #9460

Change-Id: I73a23fb2a346ab12ae95652de21f215c2a227c9e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4566
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-14 16:46:44 +00:00
Franck LeCodeur
2453e792d5 bus_managers/firewire: Enable Werror as there are no related warnings
Part of #9460

Change-Id: I236519962aaac58de45a4054bfb51ceb9a93df15
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4565
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-10-14 16:46:44 +00:00
Adrien Destugues
d29af2b6eb ArchitectureRules: Grooming of EnableWerror list
- All network add-ons are now built with Werror, collapse the list to a
  single entry
- Add a few busses add-ons that were not listed (to be checked and fixed if
  needed)
2021-10-11 21:31:09 +02:00
Franck LeCodeur
b06bf005c5 drivers/bus: Enable Werror as there are no related warnings
Part of #9460

Change-Id: Ic88a45e0d548098d076f73ef39bd149d7a82546a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4569
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-11 19:26:08 +00:00
Franck LeCodeur
4ff75b9c6c drivers/power: Enable Werror as there are no related warnings
Part of #9460

Change-Id: Ia8dad5c0c4b8d3efaa3205bb8bf6cc2eb6b4e95d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4568
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-11 19:26:08 +00:00
Franck LeCodeur
9170263e93 kernel/debugger: Fix warnings and enable Werror
Add one missing include and change variable declaration types to match comparison type.

Part of #9460

Change-Id: I95a12e5db11f95c2fd7c1906eaabdc5e21236cf1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4567
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-11 19:26:08 +00:00
Fredrik Holmqvist
812397ffd9 Update HaikuPortsCross package versions for ARM64 2021-10-11 19:32:27 +02:00
Franck LeCodeur
98193d2688 raw_decoder: Fix warnings and enable Werror
Done as part of #9460

Warnings related to comparison of integer expressions of different signedness

Change-Id: If5543db951b11aab1858a18a057b7d2e08ee2b42
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4503
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-09 18:00:06 +00:00
nhtello
a56c73f9ff control_look/decor: Add Flat style to haiku_extras package
* Works a bit better with dark themes
* Has some interesting alternative design elements
* MIT licensed

Change-Id: I6cfd1d4d05016fb014d515d94cff3b8c8d0298b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4508
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-06 15:23:27 +00:00
Augustin Cavalier
7aa5574713 kernel & addons: Build with the non-legacy GCC even on x86_gcc2h.
Only one code change: for some reason, GCC chokes on the cr3 functions
as macros (throwing errors about invalid registers.) The BSDs have them
as inline functions instead, so they are converted to that here.

Tested and working. There seems to be about a 10% decrease in CPU time
on some compilation benchmarks that I briefly tried.

Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-02 18:29:40 +00:00
Augustin Cavalier
c4eec9f1e8 Distinguish KERNEL_ARCH_DIR from KERNEL_ARCH.
On x86_64, the KERNEL_ARCH should really be "x86_64", but it was "x86"
as the architecture sources/headers directory is shared between 32 and 64 bit.

Should not be a functional change on any platform outside x86_64.
2021-10-01 16:26:45 -04:00
Augustin Cavalier
e8a8e39533 Update build-packages for x86_64.
Introduces libraw and libavif for the translators.
2021-09-30 19:12:43 -04:00
Augustin Cavalier
24e15920a2 Update build-packages for x86_gcc2.
zstd is left disabled on GCC2 despite being added due to problems in kernel-land.
2021-09-30 18:40:06 -04:00
Augustin Cavalier
1bcecb98c3 nvme_disk: Add structure padding for 32-bit.
The static asserts are broken on GCC2 and so did not catch this. It appears
nobody has ever tried to use this structure on 32-bit plaforms in the upstream
libraries or SPDK/DPDK?

Fixes #15212.
2021-09-30 18:05:16 -04:00
Augustin Cavalier
63b76faeea Break translators out of haiku.hpkg into a separate haiku_datatranslators.hpkg.
Translators and media-plugins are the main source of dependencies in haiku.hpkg,
and thus the main source of packages being pulled into chroots, especially
HaikuPorter chroots. (FFmpeg pulls in a rather large array of sub-
dependencies, itself.) So, here we break all the translators into their
own sub-package.

For now, haiku.hpkg is declared to depend on haiku_datatranslators,
so that users will not suddenly update and have no translators.
In the future, this will be dropped.

Note that this is only done for the primary arch at present.
Secondary architecture translators remain in the main secondary package
for now.

Change-Id: Id0b352f34f7110b79ec7787792bf3ae0edab4054
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4477
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-30 16:38:36 +00:00
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