Commit Graph

60832 Commits

Author SHA1 Message Date
Augustin Cavalier
f504f61099 libroot: Replace most of libm with musl's.
The glibc libm code was showing its age, and has recently been
the subject of a number of tickets about its inaccuracy.
Additionally, some developers have complained about
how convoluted the headers are, and thus how hard it is
to add support for new architectures (and how flaky
the support for the existing architectures is.)

So, with this commit, nearly the entire glibc libm has been
gutted and replaced with the one from musl 1.1.24.

The complex functions from glibc are retained (as they
are more mature than musl's), as are some glibc-internal
libm functions.

This also has the advantage that these functions are
actually using our <math.h>, whereas GCC used its own,
which was rather dangerous for obvious reasons.

Additionally, the new math functions are always compiled
with GCC 8 (even on x86_gcc2), as it seems GCC 2 does
not quite understand some of the union-aliasing they
use (a lot of which was added in C99, I suppose.)
FFmpeg on x86_gcc2 is already compiled with GCC 8
and that has so far worked out well, so there should
not be any problems caused by this.

I did verify that ARM and PPC at least still compile,
though other architectures may require a bit more work
(they are not bootstrapped so I could not do much.)

Should fix #14933 among other issues.

Change-Id: Ifeea0ddab23a8d0480fc26dece1b0192afc263bd
2020-01-18 18:10:31 -05:00
Zotyamester
c039c51d77 Mail: fix memory leak on realloc
Fixes #9873

Change-Id: I274fc61359c34ada1088994f65f3d3c762297176
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2069
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-01-18 19:39:51 +00:00
Autocomitter
30de32ecb1 Update translations from Pootle 2020-01-18 08:52:55 +00:00
PulkoMandy
56f9c76088 sparc: boot mmu support
Get enough of the mmu working to be able to allocate memory.

Unlike on PowerPC, we get both address and size as 64bit values. So
adjust of_region to allow this.

Also unlike the PPC port, we do not drive the hardware directly, instead we
rely on the openboot primitives to manage the translation table. This
allows staying independant of the hardware, which is a good idea at
least for the bootloader (we can do actual hardware things in the
kernel)

Change-Id: Ifa57619d3a09b8f707e1f8640d8b4f71bb717e2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1482
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-01-18 03:32:29 +00:00
PulkoMandy
011b188df0 boot fatfs: fix misaligned access on sparc.
Change-Id: Id4d0a93ce13b5e5d479896dbfc10d71de1ba52c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1987
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-01-18 03:29:27 +00:00
PulkoMandy
959588394d openfirmware: more fixes for 64bit systems.
Gets call-method working for sparc, and fix more places where we
accidentally truncate 64bit values or sign-extend 32 bit ones.

Change-Id: Ic79c55ffa8d2b475858def1639004412f17dd0c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1986
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-01-18 03:29:27 +00:00
Alexander von Gluck IV
2f37766000 sparc: Add missing any arch packages
Change-Id: Ib20fbcb805011634394a2296d955bc12613c7056
2020-01-17 14:58:24 -06:00
Alexander von Gluck IV
65f8d4d1f6 sparc: Add the hopefully final missing packages
* I still blame Pulkomandy

Change-Id: I8027250dec08b25e9efd2fad6ac0895d18e7273c
2020-01-17 14:21:24 -06:00
Alexander von Gluck IV
cc0783e888 sparc: Add missing devel package for ncurses6.
* This is why we normally do this on our local systems.
* I blame Pulkomandy

Change-Id: I763d92edd73ed231fbb99bc3a59c3d3e5dd08f83
2020-01-17 13:05:29 -06:00
Alexander von Gluck IV
42029125dd sparc: Add missing ncurses6 package
Change-Id: I7c49e707f55e804a7222750c88ecbbf7e9f80111
2020-01-17 12:55:05 -06:00
PulkoMandy
402f5046b0 sparc: boot cpu support
There is no /cpus in the device tree on my machine, the CPUs are instead
directly under the root. So search for them there.

There is also no timebase property, and according to the docs, the
RDTICK instruction just gets CPU clock ticks, so set them to the same
value for now.

The two CPUs in my reference machine are succesfully found now, yay!

Change-Id: I5fbb4cfc98ee3b68cb2aa810816e0054a56d52d0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1483
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-01-17 16:47:41 +00:00
Alexander von Gluck IV
3c0d65cc30 sparc: First attempt at build-packages
Change-Id: I19819f6617c02bde87d34baaef5601b4727cb319
2020-01-17 10:15:10 -06:00
Adrien Destugues
f6f76c4795 intel_extreme: do not change panel fitter registers in later devices
This code was accidentally re-enabled in hrev53690.

Should fix #15628.
2020-01-16 19:47:10 +01:00
X512
52ac76ce34 Interface Kit: fix BDragger background drawing
Change-Id: I1ce8eca127e14af0652ef38fedcbbf588f1567fd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2092
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-16 13:23:57 +00:00
Kyle Ambroff-Kao
dcfd4f324e GetRecentTester: Fix path to test apps
get_test_app_ref() computes a path relative to
BTestShell::GlobalTestDir() that is supposed to contain test apps that
will be launched with launch_test_app(). The path is incorrect so
several tests fail.

The test apps are actually just in BTestShell::GlobalTestDir(). Fixing
this resolves 6 of the 12 failing tests in the BRoster tests.

Change-Id: I4b287c19fd83d3afe40dca137fea2bd61a0f9359
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2114
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-01-16 10:31:15 +00:00
Andrew Lindesay
d17c92f779 HaikuDepot: Error Reporting Improvement
When editing a user rating it can be that the user
is not authenticated properly or there is some
problem.  This change improves the error reporting
in this situation to give the user a better idea
about what is going on.

Change-Id: Ib8890c2ea8a7316849486e472aabec05788243ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2112
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-14 05:14:40 +00:00
X512
6ab29b9387 app_server: fix drawing of transparent views
This change makes to draw parent view before current view if current view
ViewColor is transparent. Views with transparent parts such as BDragger are now
drawing properly without workarounds.

Change-Id: I0450d1f012555137c8e7dd2d08c0c27df39465ff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2091
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2020-01-12 16:10:29 +00:00
X512
3d7fbc1a0b runtime_loader: allow loading executables without section table
Change-Id: I4bfee1d1aa40730586123a70fb480ee91787c15d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2089
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-01-12 13:59:40 +00:00
X512
cf4ffd85fd app_server: fix flickering when drawing background
Fixes #15548.

This change disables immediate drawing of background on expose and makes drawing background a part of the update session. In previous version expose/update separation is incorrect in some cases. For example when view with B_FULL_UPDATE_ON_RESIZE is resized, it will be updated with expose cause, that will trigger flickering. Correct handling should be update on old visible area and expose on area that became visible. If immidiate exposed area erasing is preferred, it need more work to fix. Anyway delayed redrawing cause problems only on slow machine or on slow responding applications, but current master approach cause flickering even on fast machines and on any application that use non-transparent view color.

Multiple expose/update requests also seems not work properly.

Change-Id: Ibd64eb2545ceb1197f1c8bc89043de6f87f11778
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2021
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2020-01-12 12:10:05 +00:00
Adrien Destugues
03c13e58de intel_extreme: do configure the LVDS panel when we use native resolution
Should fix the remaining problem in #14066
2020-01-12 10:40:34 +01:00
reds
b6706afe76 Added the new azerty+ keymap
Changed the keymap filename to match the ISO standard
Change-Id: I009640ed976f155cfba3925e852e543f03475bc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2079
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-01-11 22:50:48 +00:00
Axel Dörfler
c9dd084d58 kernel: Also add the debug level to the "info" KDL command 2020-01-11 21:36:09 +01:00
Axel Dörfler
f111c8c6fe kernel: Add debug level to welcome message 2020-01-11 21:21:07 +01:00
X512
db7c4791bb Interface Kit: read reply before calling hooks.
Part of #15548.

Change-Id: I074d36717ef1e2fad4e8bc215448fa72f797ed7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2099
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-11 18:54:36 +00:00
X512
f6779f3d47 WebPositive: call base class in BookmarkBar::FrameResized
Fixes #13067.

Change-Id: Ia40ef83ea3e9676c9884e011b758b85d6bd27fcd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2102
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-11 18:32:39 +00:00
Zotyamester
1324becd21 Terminal: don't resize if it has no effect
Potentially fixes #13453.

Change-Id: Ic5cf15f5040d0557e27dceacab1d6ff9d6d08b8d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2100
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-11 18:25:09 +00:00
Adrien Destugues
388c78edd9 AboutSystem: make hyperlinks blue
and remove silly "click on license name to read it" hint, now that they
are more obviously hyperlinks
2020-01-11 13:25:28 +01:00
Adrien Destugues
6f7074581a intel_extreme: use panel fitter also for generation 3
Should help with #14066
2020-01-11 11:52:05 +01:00
Raheem Idowu
e8faedae57 Game Kit: rewrite PushGameSound and WindowScreen headers
Part of #1576

Change-Id: Iafdc88bcf13e9c07fa148cb7980b54f5ee98be50
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2086
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-11 02:26:06 +00:00
John Scipione
ef046e3b14 Screen prefs: Layout tweaks based on feedback
- Put workspaces settings in their own box below the screen box.
- Put brightness slider inside the screen box (currently it works per
  screen, not per workspace).
- Move screen name to the title of the screen box.

Remove Set background... button, but keep its label for MonitorView
tool tip to let you know that clicking on it opens Backgrounds. There
wasn't enough room for this button with the brightness slider.

When brightness slider is hidden the window is shorter (unless you
have a lot of options on the right.)

Change-Id: I8b39d9e074e7e6abca2c37545f21c456289de381
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1984
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-11 02:25:24 +00:00
Zotyamester
476d0ad38e Terminal: Minor fixes
Change-Id: I10d1a248e62f37a34c1d2d0ae3088403c6de3adf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2094
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-10 00:32:31 +00:00
Zotyamester
54bac4b789 Terminal: apply color preference changes to every tab
Change-Id: I0f7c788403e0d684c24cc5b5e5edfcab674bdb9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2075
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-10 00:32:02 +00:00
X512
2cf8f0ee6b kernel: add assert in _user_read_dir
* This will help catch bugs such as in #15607.

Change-Id: I25b28932f9db4e2abe8499dd829c910bb565086b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2082
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-10 00:24:56 +00:00
X512
3e818f2075 bfs: keep valid dirent->d_reclen in case of bad name
Fixes #15607.

Change-Id: I96b807f031df4e5c8b5ae17b22a21aed77616b17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2083
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-01-08 20:05:58 +00:00
Panagiotis Vasilopoulos
d27b2393eb emuxki: include stdlib.h for memcpy()
PVS 1031

Change-Id: I238a9a73fd34a65a988e0499dea6198b7d8356b0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2084
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-01-08 19:50:18 +00:00
Panagiotis Vasilopoulos
afa5119796 echo: remove superfluous assignment.
PVS 570

Change-Id: Iec78dda5a3a944261808f39e087656d68e4c7103
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2085
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-01-08 19:49:39 +00:00
Augustin Cavalier
dda1013cdb posix/math: Use the GCC built-ins when possible for isnan(), etc.
glibc does the same. Technically, some of these builtins did
not exist / did not work before GCC 4.4, but the source tree
cannot be compiled with a version that old anyway.

x86_64 and _x86 need to keep the old functions for now, of
course; but all other architectures can probably feel free
to drop the s_isnan, etc. functions from their glibc.

This will make upcoming patches easier...

Change-Id: Ifb76ea74076553228c9741a8ee3ecb0e1cf736a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2076
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-06 07:44:30 +00:00
Augustin Cavalier
a1e74397a1 build: Rework gcc2 test_app_server build logic a bit. 2020-01-05 17:17:41 -05:00
Adrien Destugues
6ca34a59b5 Add some notes on how to use PCI serial ports for serial debugging. 2020-01-05 10:42:37 +01:00
Adrien Destugues
2beddbfd46 intel_extreme: fix pipe and plane size registers
- The name for the registers were swapped
- The width and height were also swapped in one of them
- Remove some old #if 0 code that touched these registers but has been
  disabled for a while.
2020-01-05 10:11:37 +01:00
Adrien Destugues
abcbfac601 intel_extreme: use the panel fitter for generation 4 devices
LVDS panels must really be driven at their native resolution, otherwise
they will simply not work. This means we should basically never touch
the video timings on that side. We need to only set the source size in
the pipe configuration, and let the panel fitter figure out the scaling.

On my G45 laptop, this allows me to use non-native resolutions on the
laptop display. This also means when booting with a VGA display
connected, I do get a valid display on the internal panel (using the VGA
resolution). VGA still gets "out of range", so we're still not setting
up something there.

If I switch to VGA display in the BIOS, I get a working picture there
and garbage on the internal display, which is progress (before I would
get a black screen on the internal display)

Fixes #12723.
2020-01-05 10:11:37 +01:00
Augustin Cavalier
d927a11fff Revert "x86_64: use a working implementation of atan2"
This reverts commit 230ade30261a44cd02ed689a34b953406d0cc677.i

This just causes applications that call atan2 to crash. So, clearly,
it is not working.
2020-01-04 15:51:02 -05:00
Augustin Cavalier
d2f7af0edc Revert "deprecate gets and tmpnam"
This reverts commit 92e9211d7b.

It broke the build, and apparently cannot be fixed until GCC
has been patched.
2020-01-04 15:26:08 -05:00
Humdinger
8793a2cd57 HaikuDepot: Remove an unneeded B_TRANSLATE
If the string consists solely of variable that mustn't be translated,
don't bother to sending it to Pootle for translation...
2020-01-04 17:34:08 +01:00
Humdinger
a00b7c2f18 DoCatalogs for VirtualDirectoryWindow
Fixes #15601
2020-01-04 16:59:13 +01:00
Autocomitter
c8d241ea1e Update translations from Pootle 2020-01-04 08:45:51 +00:00
Kyle Ambroff-Kao
4df8f0223b tests: Fix build on x86_gcc2
This patch fixes the build of unittests on x86_gcc2.

src/tests/kits/shared/KeymapTest.cpp:
* Don't use auto
* Don't use braced-initialization for std::map.

src/tests/system/kernel/vm/Jamfile:
* Link lock.o from kernel source to include _mutex_lock and
  _mutex_unlock when linking libkernelvmtest.so

Change-Id: I60e02bfb23334064ec25d767f659a188e393ed1c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2074
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-04 08:29:41 +00:00
Adrien Destugues
230ade3026 x86_64: use a working implementation of atan2
The "generic" files are actually not generic at all. They were
imported for the PowerPC port and assume a matching format for float.
However, x86 uses a different format as the values are stored with 80
bit precision in the FPU. Therefore the generic implementation is
not appropriate whenever it does bit manipulations.

The glibc implementation uses the same sourcecode as the x86 version
for atan2, and there is no reason for us not to do the same.

Should fix #14933

Change-Id: I9addcfdf8b0f980c8842480885b59c0133866756
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2067
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-03 08:29:51 +00:00
Adrien Destugues
92e9211d7b deprecate gets and tmpnam
For #15515

As mentionned in the ticket, we may also want to hide the symbols
altogether from libroot for newer API/ABI versions, unless we still want
to provide C89/C99/C++98/C++11 compatibility, in which case we still
need them around.

Change-Id: I0ee267fb6c4c2f4bae9b1ba6f68e2bcefc399a7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2061
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-03 03:35:04 +00:00
Kyle Ambroff-Kao
2c17ecf993 tests/kits/support/bmemoryio: Fix WriteTest
This patch fixes a bug in the BMemoryIO unit tests that made them
fail and adds an additional test case for read-only buffers.

The failing test case invokes BMemoryIO::WriteAt() with the position
parameter set to -10, which is invalid and should result in a return
value of B_BAD_VALUE. And it does, but the test fails because it was
testing for the return value 5, as in 5 bytes copied.

An additional test case is added for read-only BMemoryIO objects. If
the BMemoryIO(const void*, size_t) constructor is used then it will be
marked as read-only, so writes should fail with B_NOT_ALLOWED.

Change-Id: Icf4b837c77fba2be958f9d3e4b3adb18a23b037f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2066
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-03 03:30:35 +00:00