The use of an unreliable test for relocatability effectively broke
runtime_loader's support for non-position-independent executables, as it
would insist on randomly positioning these files' segments in memory
anyway causing the program to quickly crash.
With this change runtime_loader uses the object type specified in the
file's header to determine whether its segments can be safely relocated,
restoring support for non-PI executables.
Fixes#12427.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
* Add -fgnu89-inline flag for libroot/posix/glibc
* Change __GNUC__ == 4 to __GNUC__ >= 4
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#11990, most of the changes had already been done.
Several errors in the html output caused WebPositive to not render
the file completely.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#12387.
While the game is pure python and packaged for any architecture, the
engine (FIFE) is C++ with python binding via swig, making the game
only installable on x86 and x86_64. We'd need to provide a python_x86
to support secondary architecture python modules.
Solves #9322. Thanks to dsjonny for the original work, that I
slightly improved upon.
The Userguide and Welcome pages now load the page of the user's
system language.
Splitting the almost 70 MiB userguide package into one package per
language at ~4.5 MiB saves time and space when installing/updating.
At the online tool that manages the user guide pages, we have to
make changes to fall back to the online page if you try to switch
to a language you haven't installed locally. See #9322.
* Save the package state before attempting to install/uninstall the package.
* In the case of failure set the package state back to what it was.
* Use the synchronous version of BAlert so that the package state won't
change until the user clicks the Close button on the dialog.
Fixes#10838
This allows the Cmd+A key shortcut to select all text on
the subject control. You could already Select All from the
View menu but this is more convinient.
Fixes#12361
* The same mechanism (and the same PostInstallScript) is used for this.
* If a file first_login exists in ~/config/settings/boot, the first-login
scripts are launched, and the file removed.
* This fixes adding the deskbar tray icons even when there is no Deskbar
running yet (for example on first boot when the FirstBootPrompt
starts), or, IOW bug #12275.
* Since we're disk bound, and not CPU bound, it doesn't make much sense
to restrict the number of threads on the number of CPUs.
* It's still not completely independent of the number of CPUs now,
though: we'll have 3 * CPU count worker threads.
* This was the harmless part: a job was been requeued that already was
being launched.
* I was already aware of this one, and only accidentally stumbled over
the non-harmless case in the JobQueue code when I tried to fix that
little issue... (ie. never ignore warnings, even if you think you
know what's going on).
* A dependent job was requeued even if it wasn't part of the queue
before. The code relied on dependent jobs being already enqueued;
but that cannot be guaranteed.
* If a job failed, its dependent jobs are now also set to failed, so
that they won't be requeued at a later point.
* This caused some of the "Launching xxx failed: Operation not allowed"
messages in the boot process. Those actually weren't harmless, and
could mess up the natural job order.