The previous change to this logic (9921f444625e360674f92db84ffae695492233a5)
apparently caused intermittent crashes with various applications. It
seems that EDX is not expected to be clobbered by functions that do not have 64-bit return values, and if it is, crashes result, like #19024.
This commit reworks the logic to not change %edx in the iframe at all
if we don't have a 64-bit return value, and then adjusts the debug logic
to clear %edx before invoking the post-syscall debugger hook. This means
we have to run the post-syscall debugger hook before clearing the
flags, but that should be fine (and perhaps even useful.)
Fixes #19024, and possibly other crashes that have cropped up on
32-bit x86 in the last few weeks, at least.
Change-Id: I3280033bc2dd05aca254555d6ee3b173a270ebf9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8158
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Michael Lotz <mmlr@mlotz.ch>
The fRenewalTime and fRebindingTime members were never initialized but
assumed to be initially set to 0 when not provided by the DHCP server.
This could lead to negative time values depending on the uninitialized
memory content and would always happen under libroot_debug where memory
is initially cleared to 0xcc. The negative times then lead to endless
loops of sending requests.
Change-Id: I74a5fbd0c75f7de925f591f09db663978ea3f0ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8157
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Otherwise the controls look like they are "disabled" and can't be
edited.
Ideally this class would be refactored to use BAbstractSpinner rather
than drawing its own arrows, but that's a problem for another day.
See inline comment: otherwise it might be deleted when we
release it in Disconnect() but before we unlock it.
Also fix _LockConnectedEndpoints() to unset the locker object if
returning an error, rather than returning a locked endpoint that
we don't hold a reference to.
Fixes #18927.
... instead of making a copy like normal. This changes the default
behavior, you may override it by context-click dragging and selecting
Copy or holding the option key to force copy.
Implements #18729
Change-Id: Ib13bec347f300d25de77064ced79693ecbc3a85c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8144
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Minimum menu field width is set by "multiple selections" string width
on volumes menu field or a smaller size that matches R1B4 on rest.
Maximum menu field width chosen to match current based on font size.
Set the max content width to truncate long mime-type names that don't
fit. Add room for the pop-up indicator.
Create member variables to hold menu fields. Resize the menu fields in
AttachedToWindow() after they have been marked because the width
depends on the marked item.
Set member pointers to NULL in constructor where not already set.
ASSERT variables we use are not NULL, they aren't but check anyway.
Use DefaultLabelSpacing() for the spacing between icon and text to make
them font sensitive. DefaultLabelSpacing() is 5px at 12pt font matching
current.
Fixes #18999
Change-Id: I0e52b5aa557c8b5d76f09e0b60fcb965e3ff65e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8143
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Move towards defined constants for getting and setting PTE types.
Change-Id: Ia655b00b4de5ec49a01bf902626d63138e3bbeb1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8113
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
* Move .got to be adjacent to other relro sections.
* Use PC-relative accesses to set the fault handler in
arch_debug_call_with_fault_handler.
Change-Id: I52eec7e2525c15ec50eb4b83e4740519a76cd4a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8111
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
* Move "Open..." menu to the top, above the save items, as is usual for
Haiku apps.
* Capitalize "Trash", as in the rest of Haiku; it's the concept of "Trash",
i.e. of all mounted volumes.
* Replace the volume-popup label "On" with "Target:". After limiting the
query to folders was added, "on" wasn't grammatically correct any more.
Change-Id: Id8a65d287af0b154956b1018599876d276a33bda
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8110
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
When set, the package names provided in the file list are assumed to be
in their canonical form and the package files are not accessed to build
canonical names from their package info.
This allows for delta updates where package files are only listed in the
file list but are not present or valid in the packages directory.
This does not fundamentally change the risks of such updates as the
checksum of packages was already not revalidated and replaced packages
were therefore already not detected.
Change-Id: I3a10794858384fe17374eb0469dd4bd4e024253a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8138
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Fixed dynamicDate used without initialization at line 730,
since GetPredicateString() might not set value to dynamicDate.
Pointed out by Clang Static Analyzer.
Change-Id: I4698fdada4b91183c7bdba5aa980ddc6b55e6312
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7946
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
This reverts commit 946839b8500ef32960716ab9c86fcb48c9b29807.
Keeping these allow to keep track of why Werror is not enabled for the
entire network drivers subdirectory.
These are architecture-specific routines, so they deserve proper
architecture-specific naming. The user memory access routines are
already under arch_cpu (arch_cpu_user_memcpy, etc.), and the methods
usually change a CPU flag, so it makes sense to put these there too.
RISC-V had get_ac but nothing else defined or used it, so it's removed.
No functional change intended.
Change-Id: Id4715214e32f73d4a93bc7ba8249411a0878d174
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8106
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: X512 X512 <danger_mail@list.ru>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
So we need to check that it didn't when creating areas.
Change-Id: I4342463113046b543722faa7a51ca269ed67e8bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8137
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Enhance the warning message and return a more relevant error code.
Fixes #19017.
Change-Id: I13d01ce206a27e5c9a35debc8081219422bfb10a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8136
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This restores cut items state to full opacity on paste.
Reverts the part of hrev53329 for cut items. We only copy duplicates
on copy operations, not cut, but we have to make all cut operations
copy after paste is over to restore the state. The clipboard mode is
altered but not the contents.
Fixes #15267
Change-Id: I8a036a548719fe49c512bd38ff1a072890ab2325
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8100
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
* Initialize pm_firstcluster in dosfs_identify_partition for use by
read_label, for FAT32 volumes. This is necessary for reading the
volume name from the root directory.
* Create label_to_fat() and call it at both points where volume
labels can be assigned, for uniform behavior in setting
labels. Force all-caps when setting labels, for widest
compatability of the volume with other systems.
* Remove the redundant LABEL_ILLEGAL string listing illegal label
characters, and consistently rely on sAcceptable (a list of legal
characters) when setting labels.
* For clarity, rename sanitize_label() to label_from_fat and remove code
that causes labels to be displayed to the user in all lowercase.
* See #11119.
Change-Id: I7b5e6b998f13d9eb7ba56ed50c0d53b8c051fad0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8115
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Add a menu item at the bottom of Tracker's "New" menu and all
submenus to "Add new submenu...".
* The menu creates a folder "New submenu" under
"~/config/settings/Tracker/Tracker New Templates" and adds the
attribute _trk/_template_submenu = true to it. That results
in showing it as a submenu in Tracker's "New" menu.
* Finally "~/config/settings/Tracker/Tracker New Templates" is
opened and selected, so the user can edit the folder name that'll
appear as submenu label in the "New" menu.
Change-Id: I1783f8a88c8e56fbe33012c7312cc97e9401f7f5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7931
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: humdinger humdinger <humdinger@mailbox.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Make TextColor() and BackColor() virtual in BPoseView so that we can
override them in subclasses. These are used to invert colors on select.
Move InvertColor() and InvertedBackColor() to Utilities.
Move Desktop...() methods to DesktopPoseView overrides, this does the
same thing but in DesktopPoseView as an override.
Add override methods to Open with... pose view. Open with... window
text color were not updating with color settings making text unreadable
in dark mode. Open with... background and text colors update based on
tooltip colors which was chosen previously.
Change-Id: Id605f1887d6018766b09a6de372b6071de8b83ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8105
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
This is imported code from FreeBSD; using -Werror here doesn't make much
sense. Most of the lines were commented out anyway.
Lines for native drivers left alone, of course.
These are defined as builtins, but sometimes the compiler might
want to call the out-of-line definition instead. And we need to
export the symbols for POSIX compliance anyway.
Fixes the build of some libraries with Clang under ARM64.
* Skip the complete comparison of FAT mirrors if the FAT size is over
4096 blocks.
* This complete check was not done in either the previous Haiku
driver, or in the original FreeBSD driver that the current driver is
largely based on.
* Remove the media descriptor byte check of the active FAT, which is
redundant with fillinusemap().
* Follows up on #18969.
Change-Id: I34dd1d71852e1f3e9dc42d125759989c091f5108
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8095
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
* Clang -target *haiku* now properly sets -fPIC and -shared.
* Clang now understands -fno-semantic-interposition.
* Add necessary LINKFLAGS for the kernel to get only 2 LOAD segments.
* Remove workaround to remove -fPIC from the BOOT flags now that
we don't inject it.
It is now possible (with a few minor hacks) to build a full system
image with Clang + LLD. The BIOS loader crashes on startup however, but
using a GCC-built BIOS loader, the system can boot all the way to the
desktop.