Commit Graph

58656 Commits

Author SHA1 Message Date
Augustin Cavalier
1011a95a7c Icon-O-Matic: Remove some dead code.
This caused -Wformat-overflow (but only if -ftree-vrp was enabled,
which at present we disable it universally.)
2018-05-28 20:45:48 -04:00
Jérôme Duval
9e75e900da kernel: use non-deprecated signatures for new/delete operators.
add posix_memalign(), needed for c++17.
2018-05-28 20:49:15 +02:00
Jérôme Duval
b3e749b0c1 kernel,libroot,boot: remove c++11 and gnu++11 flags.
* c++14 is the default with current GCC
* remove pragmas for x86intrin.h
2018-05-28 18:54:22 +02:00
Jérôme Duval
8e4aa13350 console: use user_memcpy to read the user buffer. 2018-05-26 15:52:37 +02:00
Jérôme Duval
57aac99526 nforce: sync with FreeBSD 11.1. 2018-05-26 13:52:40 +02:00
Jérôme Duval
2df44799a5 rdc: sync with FreeBSD 11.1. 2018-05-26 13:52:40 +02:00
Autocomitter
6973d22af3 Update translations from Pootle 2018-05-26 08:51:20 +00:00
Automatic committer
5e16931b6c Update translations from Pootle 2018-05-24 06:10:38 +00:00
Augustin Cavalier
053cc0d4fe ape_reader: Properly fix the build under GCC 7.
Since we cannot '#define wchar_t char' anymore, we need to properly
fix the source code to work with char instead.
2018-05-23 18:59:32 -04:00
Adrien Destugues
ca4d9e0f9f ape_reader: build fix.
We support wchar_t now, so don't try to avoid it.
2018-05-23 22:57:25 +02:00
Jérôme Duval
177f5facbf kernel drivers: have timer hooks return B_HANDLED_INTERRUPT.
* 0 means B_UNHANDLED_INTERRUPT.
* uses int32 as return type.
2018-05-23 18:41:35 +02:00
waddlesplash
02a7351fa2 Upgrade to GCC 7. 2018-05-22 21:43:38 -04:00
waddlesplash
1f839e89e6 configure: Rebuild cross-tools if GCC configure is newer than built GCC. 2018-05-22 20:43:11 -04:00
waddlesplash
b87a52803f tests: Fix the build under GCC 7. 2018-05-22 20:43:06 -04:00
waddlesplash
77d1e4fd44 kernel: TARGET_PACKAGING_ARCH not HAIKU_ARCH for present compiler arch.
HAIKU_ARCH is CPU architecture. Sorry for the noise...
2018-05-22 20:41:52 -04:00
waddlesplash
3d5f8b7ccf protocols/unix: Fix build after previous commit. 2018-05-22 19:46:20 -04:00
Adrien Destugues
8bca37d604 vfs: Bind flock locks to file descriptors
* File locks created by flock should only apply for the file descriptor
  that was used to lock the file. Another fd on the same file should then
  be denied access (calling flock should fail).
* fcntl based locks, however, are in a separate namespace and are global
  to a team.
* This issue was found when running webkitpy test suite, and should close
  ticket #13795.
* Don't use session or team as comparison in release_advisory_lock(), as
  that information might not be available anymore (e.g. when called from
  Team::~Team()). This fixes #14121.

Change-Id: I9efb96cfcefe7e72b0060220c635a665e7e643cc
Co-authored-by: Axel Dörfler <axeld@pinc-software.de>
2018-05-22 20:29:21 +00:00
Jérôme Duval
fc48586b9b kernel/libroot: use compiler built-in for rdtsc().
* spares two MOV instructions.
* the warning is fixed upstream:
2bbcec1f88
2018-05-22 17:48:02 +02:00
Augustin Cavalier
3acaf25e8f kernel: Disable rtl-stv1 optimization on GCC 7.
See inline comment and accompanying ticket.
2018-05-21 20:52:11 -04:00
Augustin Cavalier
c5a6b06396 add-ons/print: Disable probably-bogus warnings on GCC 7. 2018-05-21 20:51:23 -04:00
Alexander von Gluck IV
7f167d4f4a radeon_hd/dp: Fix bug in lane training. Kudos gcc7
* GCC7's static analysis found this one and it still
  took #gcc and me a while to spot. Nice work gcc7!
* Should help DisplayPort training issues :-)

Change-Id: I9b47f13c95e622a2c08ff329ec9c3fc7e3db493d
2018-05-21 18:02:32 -05:00
Augustin Cavalier
66e852769e VSTHost: Fix the build on GCC 7.
rename round -> vstround.
2018-05-21 17:57:50 -04:00
Alexander von Gluck IV
20aff1c8ca HaikuPorts/x86: Fix x86 build_packages repo url
Change-Id: Ib8f70f87b70b146c9342890bbff80cd4cc5e9680
2018-05-21 13:32:49 -05:00
Jérôme Duval
8ac3d98578 x86_64: use the compiler built-in for cpuid. 2018-05-21 15:28:55 +02:00
Jérôme Duval
ba6f86b896 syskonnect: sync with FreeBSD 11.1. 2018-05-21 14:39:32 +02:00
Murai Takashi
5d75f4346e Media preference: Replace strncpy with strlcpy
Replace strncpy() with strlcpy() since destination size equals
maximum number of characters to copy.

Change-Id: I7d540c60c9915324c2271abaee8b7134bf0c3814
2018-05-21 06:59:30 +00:00
Augustin Cavalier
eabd8bf74b fuse: Fix build under gcc6+
* GCC6+ will warn when you truncate potentally "too much data"
  Volume name 255. fName is 32.
* We don't think we care enough to enlarge fName?

Change-Id: I6f453ee62c856481605594b2ae5ff9ab41244bd1
2018-05-20 17:47:12 -05:00
Augustin Cavalier
59a59d1ac7 Appearance: Another BString::SetToFormat instead of sprintf. 2018-05-20 18:18:13 -04:00
Augustin Cavalier
fe3a28958a Appearance: Use BString::SetToFormat instead of sprintf to create hex color.
Fixes a GCC7 Werror about (potential) format overflow.
2018-05-20 17:35:53 -04:00
Alexander von Gluck IV
172c944a5b kernel/kernel_cpp: Change nothrow_t syntax for gcc6+
* Fix for explicit constructor change.
  https://github.com/gcc-mirror/gcc/commit/a3f25f0f

Change-Id: I330ad9c3bff1d7f3e0284f3dcda86e17d974c57d
2018-05-20 15:44:32 -05:00
Murai Takashi
54d72f0643 Fix calling abs(unsigned)
Casting the substraction result to int
since call of overloaded 'abs(uint)' is ambiguous.

Change-Id: I24b4919f8a487d275f537391132cae635aaa030e
2018-05-20 20:29:16 +00:00
Jérôme Duval
013af6f0eb build: define architectureObject as local variable. 2018-05-20 13:19:39 +02:00
Alexander von Gluck IV
95daec1061 u-boot: Generate boot.scr for mmc
* This gives us a solid automatic entry point to u-boot
* A uEnv.txt specifies the fdt file name
* This should work on any modern u-boot for most architectures
* Non-mmc targets will likely need some work

Change-Id: I9a00316a213a15e85d3f2e18574d64920d9bdb76
2018-05-19 20:04:50 -05:00
waddlesplash
3f9e3b0a62 ICU locale backend: Increase size of fLocaleDescription from 512 to 1024 bytes.
GCC7 gave a Werror that we were snprintf'ing potentially ~860 bytes into
a 512-byte buffer.
2018-05-19 20:44:51 -04:00
waddlesplash
39f5d71fe4 iconv: Fix the build on GCC6+.
Patch from http://git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commit;h=b29089d8b43abc8fba073da7e6dccaeba56b2b70
to fix an "undefined reference" error to that function (https://savannah.gnu.org/bugs/?47953).
2018-05-19 20:35:33 -04:00
waddlesplash
71819cc094 ArchitectureRules: Disable the 'fork' builtin on GCC4+.
On GCC 7.3, it conflicts with our definition of 'fork'. The documentation
states that disabling builtins has no effect on versions where they
do not exist, so we don't need to check for GCC7 here.
2018-05-19 20:33:10 -04:00
waddlesplash
d1feb7cb60 build_cross_tools: Have scripts exit on failure.
Previously they just silently continued, which meant that if part of the
cross-tools build failed, you would have to scroll back pretty far to
see what the failure was.
2018-05-19 14:54:10 -04:00
Jérôme Duval
36d628673c hda: sync snoop quirk pci ids list based on alsa. 2018-05-19 13:34:52 +02:00
Jérôme Duval
b54ad7b4f4 freebsd11_network: add missing bus_get_dma_tag method for marvell_yukon. 2018-05-19 12:58:28 +02:00
Jérôme Duval
95ed3b4432 kernel/x86_64: add signal handler compat code.
* x86_64_signal_handler_compat is a dump of x86 x86_signal_frame_function().
* the x86 compiler should be used to produce this code, which ends up in the
commpage.

Change-Id: I03da02c376f67ff83dbaba9bcb144da726463996
2018-05-18 15:19:41 +00:00
Sergei Reznikov
f42d4b5cc4 CodyCam: center error messages 2018-05-18 15:12:13 +03:00
Jérôme Duval
db9b70ee54 kernel: add a compatibility commpage on x86_64.
* x86 uses a commpage with 32-bit addresses, incompatible with the one used for
x86_64. For this reason, a compatibility commpage is needed to support a 32-bit
userland on x86_64.
* define ADDRESS_TYPE as a macro for addr_t (default) or uint32 (for the 32-bit
commpage).
* team_create_thread_start_internal() will use clone_commpage_area() with
KERNEL_USER_DATA_BASE or clone_commpage_compat_area() with
KERNEL_USER32_DATA_BASE, to setup the correct commpage.
* real_time_clock (in compatibility mode) also updates the compatibility
commpage with real time data.

Change-Id: I61605077ce0beabab4439ef54edd1eae26f26fd2
2018-05-18 05:11:07 +00:00
Jérôme Duval
cd6365c7ce style fixes 2018-05-17 22:23:36 +02:00
Jérôme Duval
9e095e1ef8 marvell_yukon: sync with FreeBSD 11.1.
* add imin() to libkern.h.
2018-05-17 21:34:11 +02:00
Adrien Destugues
79cb8f02d9 PS/2 synaptics: minimal clickpad support
Handled as a 1-button mouse. We didn't really support this since the old
Macintosh ADB mouses, so let's see if that code aged well!

Change-Id: Ibed2423023e821ae4ce608f0ddbc5ac32bfbd8f7
2018-05-17 06:18:19 +00:00
Adrien Destugues
258b7d4a8b ps2_synaptics: support Lenovo use of extra buttons
On some Thinkpads, the extra buttons are used for the trackpoint, so
they should be reported as "main" buttons, not extended ones. An
(undocumented) information query was added to the firmware to report
when this is the case, however it is not advertised as supported by the
firmware itself by the usual mechanism.

What we do is (just as the Linux driver) detect that the tocuhpad has a
PS/2 passthrough (likely used to daisy-chain a trackpoint on the same
PS/2 port) and also advertises extra buttons (an unlikely case, it is
already uncommon to even get a middle button these days...) and assume
that the information query is available then.

When the query is available and reports the quirk, the extended buttons
are reported as 0, 1, 2 (left, right, middle), instead of extra buttons
the userland would have no idea what to do with.

Change-Id: Iad5a9e140b6e49c298dcc901f4e331a4a847d7b2
2018-05-17 06:18:19 +00:00
Murai Takashi
b08627f310 Fix catching polymorphic type by value
Replace catching polymorphic type std::bad_alloc 'by value'
with 'by reference'.
Pointed by gcc8
2018-05-16 13:49:46 +00:00
Jérôme Duval
c7c3973e09 kernel: generic user_memcpy now saves the old state.
fixes #14135.
2018-05-16 06:58:33 +00:00
Jérôme Duval
a553e95d85 kernel: support elf32 on x86_64.
* define ELF32_COMPAT to enable ELF32 macros.
* add a flag ELF_LOAD_USER_IMAGE_TEST_EXECUTABLE to only check the format.
It will be used by load_image_internal() to check which mode to use when
loading an image.
* in arch_elf_relocate_rel(), switch to elf_addr instead of addr_t, which
would be the wrong size for elf32 on x86_64.
* the ELF compat loader reuses the relevant parts of elf.cpp and arch_elf.cpp,
excluding for instance load_kernel_add_on() or dump functions.

Change-Id: Ifa47334e5adefd45405a823a3accbd12eee5b116
2018-05-15 10:29:00 +00:00
Jérôme Duval
496080235a kernel/x86_64: add ia32 syscall entry and commpage syscall code.
* only for Intel sysenter/sysexit.
* the entry function processes stack arguments as follows:
    we look up the syscall in the table, find the number of arguments.
    reserve place on the stack for the arguments.
    copy arguments on the stack
    pop register arguments
    call the syscall function
    place the return value in ax and dx registers.
* TODO: we need to store the arguments somewhere for the post-syscall tracing.
* the thread exit stub is 32-bit, for the time being use hexadecimal instructions.

Change-Id: Ie5c502eb596d4fa7613d238de80643566bc19ed8
2018-05-15 10:27:18 +00:00