Commit Graph

50414 Commits

Author SHA1 Message Date
Jessica Hamilton
edc6d1558e packagekit: fix using free instead of delete[]. CID 1210827. 2014-05-08 16:41:15 +12:00
Jessica Hamilton
194ce33d65 DynamicBuffer: remove unneeded size check. CID 604168. 2014-05-08 16:41:14 +12:00
Joseph R. Prostko
7e9976c58b Updated Readline packages for x86_gcc2 and x86
* This solves the issue where libreadline wasn't actually linked to libncurses
* x86_64 update will follow later, as the build maxed out my x86_64 build VM
2014-05-08 00:20:42 -04:00
Jessica Hamilton
41a9299bb5 BNetEndPoint: fix signedness issues. CID 604169. 2014-05-08 13:48:51 +12:00
Pawel Dziepak
76636769bd kernel/x86_64: inline x86_{read, write}_msr()
This patch makes it possible to inline rdmsr and wrmsr instruction. The
performance impact shouldn't be significant since they are used relatively
rarely and wrmsr is usually a serializing instruction, but there is no reason
not to do so.
2014-05-06 21:41:49 +02:00
Pawel Dziepak
88e8e24c84 kernel/x86_64: improve context switch implementation
The goal of this patch is to amortize the cost of context switch by making
the compiler aware that context switch clobbers all registers. Because all
register need to be saved anyway there is no additional cost of using
callee saved register in the function that does the context switch.
2014-05-06 21:15:55 +02:00
Pawel Dziepak
9db5b975f9 kernel/x86_64: rework of IDT handling code
Similarly to previous patch regarding GDT this is mostly a rewrite of
IDT handling code from C to C++. Thanks to constexpr IDT is now entirely
generated at compile-time.
2014-05-06 14:59:54 +02:00
Pawel Dziepak
2b6d4bc657 kernel/x86: add space between literal and identifier
Due to introduction of user-defined suffixes C++11 requires that there
is a space between literal and identifier to avoid ambiguity.
2014-05-06 14:59:53 +02:00
Pawel Dziepak
cd59bf4349 kernel/x86_64: x86_64 gdt handling code overhaul
Virtually no functional change, just rewriting the code from
"C in *.cpp files" to C++. Use of constexpr may be advantageous but
that code is not performance critical anyway.
2014-05-06 14:59:53 +02:00
Pawel Dziepak
c1dc104960 kernel/x86_64: enable c++11 in x86_64 specific code 2014-05-06 14:59:53 +02:00
Pawel Dziepak
f31c19bb9e libroot/x86_64: relax asm constraints in find_thread() 2014-05-06 14:59:53 +02:00
Pawel Dziepak
344643740a libroot/x86_64: minor improvements in TLS code
* less inline asm
 * std::atomic<> instead of obsolete atomic_*()
2014-05-06 14:59:53 +02:00
Pawel Dziepak
ea7e57c966 libroot: enable c++11 in os/arch/x86_64 2014-05-06 14:59:53 +02:00
Rene Gollent
5df1188e86 x86: Update haikuwebkit to 1.3.1.
Also update various dependencies.
2014-05-05 22:43:07 -04:00
Ingo Weinhold
e9eb4df71b BDaemonClient: Handle options message fields correctly 2014-05-05 21:29:25 +02:00
Ingo Weinhold
c2f3b81d45 package daemon: Fix manual package [de/]activation
CommitTransactionHandler: Since the VolumeState is now always copied
(including the contained packages), we can't just use the passed in
packagesAlready{Added,Removed} sets, since they refer to the original
packages.
2014-05-05 21:29:25 +02:00
Rene Gollent
7fa8b5538c Debugger: Add block navigation shortcuts to inspector window. 2014-05-04 17:26:28 -04:00
Ingo Weinhold
c69ed143a6 package daemon: CommitTransactionHandler: Minor error case fixes 2014-05-04 20:59:01 +02:00
Ingo Weinhold
4284b6c93a BInstallationLocationInfo: Provide more info
* If the active state is not the latest state, also provide a package
set for it.
* If an old state has been booted, provide its name.
2014-05-04 20:59:01 +02:00
Ingo Weinhold
5a1c6a7089 InstallationLocation: Rename [in]activePackages properties
Add prefix "Latest".
2014-05-04 20:59:01 +02:00
Ingo Weinhold
870e93acf8 package daemon: Move volume change counter back to Volume 2014-05-04 20:59:01 +02:00
Pawel Dziepak
0e45e3eb1d runtime_loader: keep symbol DSO in SymbolLookupCache
While resolving TLS related relocations it is necessary to know the DSO
that defines the symbol. Without proper support in caching that information
is available only when the symbol is resolved first time. That works well
for TLS since TLS_DTPMOD is guaranteed to be before TLS_DTPOFF relocation.
This patch makes the newly introduced parts of the interface work in a
general case.
2014-05-04 12:52:05 +02:00
Pawel Dziepak
df58e6a9f4 runtime_loader: support linking TLS symbols from any DSO
Previously TLS_DTPMOD relocation blindly returned ID of the current DSO.
This patch does proper symbol lookup if there is a symbol assigned to the
relocation and uses ID of the DSO in which the symbol is defined.
2014-05-04 12:21:26 +02:00
Jessica Hamilton
0427af0c09 AboutSystem: fix the build when firmware not included. 2014-05-04 17:24:42 +12:00
Jessica Hamilton
c545f253e1 AboutSystem: Only translate hyperlink text. Fixes #7491. 2014-05-04 16:55:17 +12:00
Pawel Dziepak
44c0c4d3d0 runtime_loader: add support for ELF based TLS
This patch introduces support of ELF based TLS handling with lazy allocation
and initalization of TLS block for each DSO and thread. The implementation
generally follows the official ABI except that generation counter in dtv
is in fact a pointer to Generation object that contains both generation
counter and size of the dtv. That simplified the implementation a bit, but
could be changed later. The ABI requirements regariding in memory position
of TLS block is not honoured what results in static TLS model being
unsupported. However, that should not be a problem as long as
"executables" in Haiku are in fact shared objects and optimizations which
require specific TLS block in memory layout are not possible anyway.
2014-05-04 04:00:17 +02:00
Pawel Dziepak
828ea2c47d headers/system: add ELF TLS related constants 2014-05-04 02:40:04 +02:00
Pawel Dziepak
bc472ab8f9 runtime_loader: add simple vector implementation
std::vector requires libstdc++ which may be unsafe to use in runtime_loader.
2014-05-04 02:40:04 +02:00
Pawel Dziepak
634bc98a3c libroot/x86[_64]: relax asm constraints in tls_*() functions 2014-05-04 02:40:04 +02:00
autonielx
e08c932315 Update translations from Pootle 2014-05-03 06:16:40 +02:00
Jessica Hamilton
24a8416ea7 Revert "Fix window behavior when default button is present"
With some testing, found that even with the second patch
provided in #10792, the behaviour is still inconsistent, so
reverting for now.

This reverts commit 273109e004.
2014-05-03 10:04:05 +12:00
Adrien Destugues
77b60d2222 Use std::stable_sort instead of mergesort.
* stable_sort is part of the C++ standard, and should work just as well.
2014-05-02 16:36:16 +02:00
Adrien Destugues
6df2ee73b3 Try to fix build on Linux.
* Linux is the only one of our supported build hosts to not have
mergesort. Provide an implementation that calls qsort, since the qsort
implementation in the glibc used by Linux uses a mergesort (!) for small
arrays.
2014-05-02 13:56:00 +02:00
Adrien Destugues
3dfdd43723 BGradient: preserve order of stops with same offset.
* Use merge sort, which is a stable sort, instead of the qsort used in
BList::SortItems
* This allows setting two stops with the same offset to create a sharp
color change in a gradient. This trick is used to create stripe patterns
with css gradients in some web pages.

Fixes #10733.
2014-05-02 11:46:37 +02:00
Oliver Tappe
590b95e96e Add variable noDownloads to build_haiku_image.
* If noDownloads is set, show an error when a download is requested.
2014-05-01 19:45:19 +02:00
Oliver Tappe
d1b21b4ad3 Improve build feature handling with HAIKU_NO_DOWNLOADS=1
* Adjust the respective rules such that with disabled downloads, only
  packages already available in the downloads folder will be considered
  as available build features.

This way, the build system will not for instance try to build
<kdebug>qrencode after a bootstrap, as that package is not yet
available.
2014-05-01 19:45:19 +02:00
Oliver Tappe
1a0cfb112b Minor cleanup: remove superfluous semicolon. 2014-05-01 19:45:18 +02:00
Adrien Destugues
0c271993cf Add libexecinfo.
This is a new WebKit dependency.
2014-05-01 19:09:25 +02:00
Adrien Destugues
5a7a181585 Add HaikuWebkit 1.3.1. 2014-05-01 18:48:04 +02:00
Adrien Destugues
076b4544e1 Add some links to the allwinner A10 docs. 2014-05-01 18:47:23 +02:00
Ingo Weinhold
fe28d36222 package daemon: Don't apply system package changes immediately
When a system package is going to be deactivated, activate/deactivate
the packages of the whole transaction only to the latest state.
Afterward latest state and active state will differ.
2014-05-01 18:18:37 +02:00
Ingo Weinhold
2dbf8167fe package daemon: Initial old packages state support
* VolumeState: Move locking to Volume.
* Package: Pull the file related functionality into new class
  PackageFile. A Package refers to a PackageFile. A PackageFile can be
  referenced by multiple Packages. PackageFiles are managed by the new
  PackageFileManager.
* CommitTransactionHandler: Clone the passed volume state.
* Volume now manages two VolumeStates: A state reflecting the currently
  active packages and the latest state (i.e. the one reflecting the
  situation of the packages directory). Usually the two are the same,
  unless an old state has been booted.
* The client interface hasn't been adjusted yet. Clients only see the
  latest state.
2014-05-01 18:18:37 +02:00
Alexander von Gluck IV
2354b8ac00 radeon_hd: Finish spread spectrum support
* This needs testing and is to remain disabled
  until we can test on several radeon_hd cards
  from multiple families
2014-05-01 09:45:06 -05:00
Alexander von Gluck IV
f01af94ff7 radeon_hd: Don't squash ss status_t into bool 2014-05-01 08:56:55 -05:00
Oliver Tappe
090144251d Fix #10804: package_daemon crashing in Volume destructor.
* use delete [] for fPackagesDirectories, as it has been allocated
  via array new
2014-05-01 14:48:59 +02:00
Oliver Tappe
aa2e5eca78 Add new configuration option --no-downloads.
* If --no-downloads has been given, Haiku will be built without
  trying to download anything, all required packages need to be put
  into the download folder manually (the build will stop on missing
  packages).
* As the required HaikuPorts repository can't be downloaded in this
  mode, a local repository is created during the build, which only
  contains the packages available in the downloads folder.

This is useful for building Haiku completely from source.
2014-05-01 13:03:43 +02:00
Oliver Tappe
3d9c3125ac Create packages_build folders per build type.
* The content of the preprocessed package-info files and the package
  contents depend on the build type, so we use a different folder for
  each build type.
2014-05-01 13:00:46 +02:00
Oliver Tappe
8c54af563c Whitespace cleanup in root and 'build' folder.
* Removed trailing whitespace and empty lines at top of files.
2014-05-01 12:55:41 +02:00
Murai Takashi
79895eed07 Fix gcc 4.9.0 build
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2014-04-29 22:01:34 +02:00
Adrien Destugues
1d09e9cee3 BScrollbar: remove unused field.
* Nothing ever reads fTargetName in the scrollbar code, so remove the
field.
* Frees one reserved slot, and a little memory, as the target name was
copied with strdup.
2014-04-29 16:46:00 +02:00