Commit Graph

1772 Commits

Author SHA1 Message Date
christos
f664a8d563 Go back to using int for wchar_t as all the rest of the archs; using unsigned
int is complicated specially when it comes to comparing with WEOF etc.
2018-07-16 00:04:47 +00:00
christos
0b925243f2 Give aarch64 the "special treatment", since mknative does not include the
target-specific build file.
2018-07-15 16:37:04 +00:00
christos
6e6520b9c5 There is no more SUBTARGET_EXTRA_SPECS, so hijack the EXTRA_SPECS. 2018-07-15 16:35:47 +00:00
christos
277061c241 Handle aarch64 jemalloc constant 2018-07-15 01:02:15 +00:00
christos
f83135cfef Aarch64 specific generated files. 2018-07-15 00:59:49 +00:00
christos
8254ea8c8b aarch64 sanitizer bits 2018-07-15 00:32:40 +00:00
christos
1fa371c02e c++config for 32/64 arm 2018-07-15 00:18:13 +00:00
christos
8352b2ec75 First pass at mknative for aarch64, based on mrg's work. 2018-07-14 23:47:31 +00:00
christos
d6b79c318e clang does not like the c-like definition of alignof 2018-07-14 23:42:23 +00:00
christos
985fdf2eac clang does not like auto in c++ 2018-07-14 23:41:43 +00:00
christos
c26d2ba97d avoid dups for aarch64 2018-07-14 23:40:19 +00:00
joerg
8ac3438f55 Reapply with fixed condition:
PT_PHDR is useful without PT_INTERP, i.e. for static PIE. It removes the
need for platform-specific computations of _DYNAMIC and friends.
2018-07-13 19:54:13 +00:00
maya
de537c69f3 stopgap fix: revert bfd PT_PHDR without PT_INTERP changes.
This currently results in most binaries being broken. Give more time to
debug without -current being badly broken.

The reverted commit message was:
PT_PHDR is useful without PT_INTERP, i.e. for static PIE. It removes the
need for platform-specific computations of _DYNAMIC and friends.

ok martin, mrg
2018-07-13 10:49:17 +00:00
christos
b2c71d2ddb aarch64 does not have PT_STEP so we start from 0. 2018-07-12 23:18:28 +00:00
joerg
44317eea7c Static PIE should have no linker, otherwise it isn't really static. 2018-07-12 21:39:24 +00:00
joerg
e897e0bb41 PT_PHDR is useful without PT_INTERP, i.e. for static PIE. It removes the
need for platform-specific computations of _DYNAMIC and friends.
2018-07-12 21:38:16 +00:00
christos
cc9713c527 regen aarch64 2018-07-12 00:16:32 +00:00
christos
0eedf677ec it is not xx but nn that we want. also add missing dependencies. 2018-07-11 14:51:34 +00:00
christos
b28c7e7ccb fix signness issues. 2018-07-11 13:52:35 +00:00
christos
d5e850450b Add another elfxx conversion. 2018-07-11 13:44:04 +00:00
christos
45cf9d8189 new config files for aarch64 but no progress in getting it to work. 2018-07-11 13:34:27 +00:00
christos
70306f7025 FIx reproducible builds for EFI boot blocks (from HEAD) 2018-07-09 12:15:31 +00:00
kre
3b6b60d23d Apply the change made to binutils:
Committed By:   christos
  Date:           Sun Jul  8 16:53:56 UTC 2018

  Modified Files:
        src/external/gpl3/binutils/dist/bfd: config.bfd
        src/external/gpl3/binutils/lib/libbfd/arch/i386: defs.mk

  Log Message:
  enable coff/pe executable vectors for i386 for the efi bootblocks.
  XXX: pullup-8

to binutils.old (which is what i386 is using).  Should unbreak the build.
2018-07-09 11:55:45 +00:00
christos
4522373d91 enable coff/pe executable vectors for i386 for the efi bootblocks.
XXX: pullup-8
2018-07-08 16:53:56 +00:00
christos
9951f8b9e4 vaxinate the sanitizer build. 2018-07-01 17:41:49 +00:00
christos
46e5459c53 disable one more size check for _LP32 to make pcc build. 2018-07-01 14:20:23 +00:00
kre
cb552d924c Remove (recently) commented out (recently added) liblsan SUBDIR
(it has been added a different way.)
2018-06-28 14:01:12 +00:00
christos
0fd9ea3645 put back lsan 2018-06-28 10:14:01 +00:00
christos
ecf509af59 Reduce sizes for non _LP64 and compiler checks so that the code compiles
(but it will not work, since there is not enough address space to implement
the shadow space required).
2018-06-27 15:57:20 +00:00
christos
3a31568ee3 use the proper types for operator new 2018-06-27 15:56:30 +00:00
martin
9a2749bc95 Disable liblsan for now - it seems to be 64bit only - all 32bits are
failing and the 64bit ones with compat 32bit do not work either.
2018-06-27 06:06:39 +00:00
kre
94c5c83f44 Since liblsan has been added to the sets already, we should build it. 2018-06-27 01:25:49 +00:00
christos
ae60fed3bd remove temp hack. 2018-06-26 21:06:45 +00:00
christos
92d3d99452 Add support for lsan (Leak Sanitizer), crashes on exit, but works from gdb... 2018-06-26 20:55:37 +00:00
christos
748fe90b99 Add lsan support. 2018-06-26 20:54:32 +00:00
christos
18b55cf995 Fix thread debugging. 2018-06-23 03:15:55 +00:00
christos
3306a1539a match our number of registers. 2018-06-22 19:41:40 +00:00
christos
60d5c279c7 use the right emulation 2018-06-22 19:41:16 +00:00
christos
9137a68872 use LIBISCXX = yes, instead of hard-coding the c++ library. Suggested by joerg 2018-06-11 15:29:33 +00:00
christos
b1e04fb08c Add libstdc++ again; needed for:
undefined reference to `typeinfo for __cxxabiv1::__class_type_info'
undefined reference to `typeinfo for __cxxabiv1::__si_class_type_info'
undefined reference to `typeinfo for __cxxabiv1::__vmi_class_type_info'
undefined reference to `typeinfo for std::type_info'
undefined reference to `__dynamic_cast'
2018-06-11 12:47:47 +00:00
christos
1ed1559579 don't depend on libstdc++ 2018-06-09 22:40:00 +00:00
christos
db50de0d5b consistency, define to empty. 2018-06-09 22:39:29 +00:00
martin
f96e65b81e Quick hack to fix 32bit big endian platforms: the return value from
__syscall() needs to be shifted into the lower 32bits to form a proper
pointer. Temporarily steal __SYSCALL_TO_UINTPTR_T from the syscall/__syscall
test program, Kamil is working on a proper solution.
2018-06-04 13:12:54 +00:00
christos
1372179b4a Don't add a dynamic dependency to the sanitizer shared libaries in other
shared libraries.
2018-06-02 01:40:02 +00:00
christos
a62bd702e8 Don't sanitize the sanitizer. 2018-06-02 01:38:41 +00:00
kamil
e5038c36e9 Cherry-pick upstream patch for internal_mmap() in GCC(.old) sanitizers
Fix internal_mmap() on 32-bit NetBSD platforms

There is need to use internal_syscall64() instead of internal_syscall_ptr().
The offset argument of type off_t is always 64-bit.

http://llvm.org/viewvc/llvm-project?view=revision&revision=333075

PR kern/53261 by Martin Husemann
2018-05-23 11:16:13 +00:00
kamil
245d8e2368 Cherry-pick upstream patch for internal_mmap() in GCC sanitizers
Fix internal_mmap() on 32-bit NetBSD platforms

There is need to use internal_syscall64() instead of internal_syscall_ptr().
The offset argument of type off_t is always 64-bit.

http://llvm.org/viewvc/llvm-project?view=revision&revision=333075

PR kern/53261 by Martin Husemann
2018-05-23 11:14:49 +00:00
christos
c88c0cb418 add minimal glue to make gdb compile on aarch-64; now configure in gdb/dist
and gmake creates a gdb binary.
2018-05-21 02:10:46 +00:00
christos
aac6defbba don't prepend sysroots when we already have prepended it (breaks X11 binaries) 2018-05-19 21:20:35 +00:00
joerg
28f297b902 Annotate mixing of enums from different types with an explicit cast. 2018-05-16 13:54:48 +00:00