Commit Graph

54758 Commits

Author SHA1 Message Date
Adrien Destugues
6c32f50a64 BCertificate: fixup the API
* Add an operator== and a copy constructor
* Make the getters const so they are easier to use
2015-11-08 23:47:29 +01:00
Michael Lotz
ba307a12db vfs: Cleanup: Move functions around for more logical grouping.
Move static internal functions out of the API functions block and drop
their vfs_ prefix and move an API function into the API functions block.
2015-11-08 22:31:56 +01:00
Michael Lotz
c73d13015d kernel: Use anonymous namespaces to avoid type collisions.
The anonymous namespace makes type definitions local to the translation
unit (like static does for objects). For pretty much any type not shared
across multiple files this is what one wants to happen (and might
erroneously expect to happen automatically).

This commit solves some actual collisions that were present:

* The VFS and the rootfs both used an incompatible VnodeHash struct for
  their BOpenHashTable.
* XSI semaphores and message queues both used queued_thread, Ipc and
  IpcHashTableDefinition.

For release builds these did not cause problems as the types were fully
inlined. Debug builds would crash at boot however because parts of a
BOpenHashTable<VnodeHash> from the rootfs meant to operate on struct
rootfs_vnode would be applied to one from the VFS expecting struct
vnode.

As such collisions are violations of the one definition rule, the code
is at fault and unfortunatley the compiler isn't required to diagnose
such problems across translation units (which isn't actually trivial).
This can lead to subtle and hard to debug problems and it's therefore
best to avoid leaking types into the global namespace whenever possible.
2015-11-08 22:31:56 +01:00
Jonathan Schleifer
c6fb0e2c4d
configure: Disable Clang's integrated assembler
We have too much code that doesn't work with it yet and it makes more
sense to get the other parts working with Clang first.
2015-11-08 22:11:28 +01:00
Joseph R. Prostko
8719963f48 Add packages for Fossil 1.34 2015-11-08 15:27:19 -05:00
Jonathan Schleifer
bfe60c1e5a
Don't define __ARM*__ for Clang
I have a patch for Clang ready that I will upstream instead.
2015-11-08 16:38:57 +01:00
Jonathan Schleifer
f7ededa623
shell.S: Add .section .bss to make Clang happy 2015-11-08 16:30:40 +01:00
Jonathan Schleifer
50a1d86c88
byteorder.S: Use flds instead of fld
Clang refuses to guess.
2015-11-08 16:27:31 +01:00
Jonathan Schleifer
a7bddff13e
configure: Cleaner way for --use-clang 2015-11-08 16:00:14 +01:00
Axel Dörfler
f0e23c2b9b launch_daemon: Fixed missing Event member initialization.
* This fixes targets starting seemingly unconditionally.
2015-11-08 11:41:01 +01:00
Axel Dörfler
f761076be5 launch_daemon: Fixed DemandEvent::ToString().
* Reported "event" instead of "demand".
2015-11-08 11:41:01 +01:00
Adrien Destugues
60572cc8d0 Add a MIME type to network_settings add-ons
* This is required for localization to work.
2015-11-08 09:28:34 +01:00
Adrien Destugues
7218744e73 Network preferences: missing translations.
* Some files with localized items were not added to the jamfile.
2015-11-08 09:22:13 +01:00
François Revol
c4ad6501bc googlefs: provide get_vnode_name
This works around the VFS bug I just fixed. :D
2015-11-08 04:48:51 +01:00
François Revol
3d58615e3a googlefs: make the close/free hooks more robust 2015-11-08 04:48:48 +01:00
François Revol
2e04b3a2b9 googlefs: fix a possible race condition 2015-11-08 04:48:45 +01:00
François Revol
747e0ba247 googlefs: typo 2015-11-08 04:48:42 +01:00
François Revol
5aeaaebad9 googlefs: fix parsed urls
we now get relative URLs it seems...
2015-11-08 04:48:40 +01:00
François Revol
02487f3c4b googlefs: fix parsing 2015-11-08 04:48:37 +01:00
François Revol
26b35e649f googlefs: force disabling HTTP redirection from Google
We don't really handle HTTP REDIRECT...
2015-11-08 04:48:34 +01:00
François Revol
49d3cc2a78 googlefs: error handling
Damn this code is ugly!

Also dump the header we get to /tmp
2015-11-08 04:48:31 +01:00
François Revol
25472bc40a googlefs: update default Google server 2015-11-08 04:48:28 +01:00
François Revol
c518435bb1 VFS: pass correct vnode to fs calls in default get_vnode_name
The opendir and closedir/free_dircookie hooks were called with
mismatched vnode. It seems only googlefs is actually affected by this,
since all other fs without a get_vnode_name just don't are about the
passed vnode arg to closedir and free_dircookie.

Now I should really get some sleep!
2015-11-08 04:32:57 +01:00
François Revol
8f4a653ca6 VFS: typo 2015-11-08 04:32:57 +01:00
Jonathan Schleifer
93bcaf3650
arm/arch_exceptions.S: Replace spsr_all with spsr
After a quick look at binutils, they seem to be equal, however, Clang
does not accept the _all one.
2015-11-08 00:59:18 +01:00
Jonathan Schleifer
15d594cccd
ARM: Add __aeabi_memset and __aeabi_memmove alias 2015-11-08 00:54:32 +01:00
Jonathan Schleifer
d8548e00aa
Fix some more type mismatches with std::{min,max} 2015-11-08 00:44:18 +01:00
Jérôme Duval
6c4cca34c2 glibc: replace extern __inline with __extern_always_inline for x86.
* also update __atan2l for x86, update __FAST_MATH sections.
2015-11-08 00:38:20 +01:00
Jérôme Duval
7ccbb2f03f Add operator delete(void *, size_t) for C++14. 2015-11-08 00:38:20 +01:00
Jérôme Duval
b49dd60c46 Drop namespace std after 95d4ed6778. 2015-11-08 00:38:19 +01:00
Jonathan Schleifer
f10b49ed41
Fixup for my last commit (better check for Clang) 2015-11-08 00:37:13 +01:00
Axel Dörfler
7406866340 launch_roster: The beginnings of a launch_daemon control tool. 2015-11-08 00:09:26 +01:00
Axel Dörfler
b0ecbc13f0 launch_daemon: Refactored some message handlers, more info.
* The info getters will now add a lot more info.
2015-11-08 00:09:26 +01:00
Jonathan Schleifer
f2f1efc509
Use -no-integrated-as to create asm struct offsets
This depends on quite a nasty hack to generate those, namely using
inline assembly to generate a file with things that are not actually
assembly, which Clang therefore filters out.
2015-11-08 00:04:16 +01:00
Jonathan Schleifer
c7624537a3
ARM: Alias __aeabi_memcpy to memcpy 2015-11-07 23:11:14 +01:00
Jonathan Schleifer
456150599a
Add __clang__ to a few #ifdefs 2015-11-07 23:02:53 +01:00
Axel Dörfler
64df3e0483 launch_daemon: Added forgotten time update/dstcheck. 2015-11-07 21:58:12 +01:00
Axel Dörfler
5860caae39 launch_daemon: Added basic ability to stop/start jobs via API.
* Stopping a job is very simplistic right now, and will have to be
  extended considerably, probably with its own job.
2015-11-07 21:58:12 +01:00
Axel Dörfler
de0e15ae8c launch_daemon: corrected print server signature.
* Not sure yet why it actually worked before; must be some other
  bug :-)
2015-11-07 21:58:12 +01:00
Axel Dörfler
d8c022250d BMailAccountSettings: use BPathFinder.
* This allows to put add-ons in non-packaged folders, too.
* Also, Set{In|Out}boundAddOn() only ever looked in the system dir.
2015-11-07 20:55:14 +01:00
Jonathan Schleifer
617793f41b Add back declarations to kernel_cpp.h for GCC
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2015-11-07 20:53:13 +01:00
François Revol
9b1ce4307b Added flag for the Breton language.
Anyone wants to do the translation?

BZH POWAH!
2015-11-07 18:32:27 +01:00
Jonathan Schleifer
96474f3de2
Define __ARM_ARCH__=7 for RPi2 when using Clang 2015-11-07 18:30:07 +01:00
Jonathan Schleifer
55de0addd5
arm/arch_string.S: Only use sane insns for Clang 2015-11-07 18:29:50 +01:00
Jonathan Schleifer
ed6dfed2a0
Fix a type mismatch for std::min() 2015-11-07 18:16:40 +01:00
Jonathan Schleifer
71e0324992
Move new / delete kernel_cpp.h -> kernel_cpp.cpp
new and delete may not be defined as inline, as Clang loudly complains.
The same is true for static.
2015-11-07 18:16:23 +01:00
Jonathan Schleifer
b310316956
Fix arm/arch_string.S for Clang 2015-11-07 18:08:01 +01:00
Jonathan Schleifer
95d4ed6778
Add missing "using std::nothrow" 2015-11-07 18:08:01 +01:00
Jonathan Schleifer
5213914cec
Fix flags for RPi2
There's no point in tuning for the RPi1 CPU.
2015-11-07 18:07:45 +01:00
Jonathan Schleifer
95fd629fa3
Don't use -mapcs-frame with Clang 2015-11-07 18:07:45 +01:00