aboutsummaryrefslogtreecommitdiff
path: root/libphobos
AgeCommit message (Collapse)AuthorFilesLines
2021-03-26libphobos: Build all modules with -fversion=Shared when configured with ↵Iain Buclaw11-25/+47
--enable-shared The libgdruntime_convenience library was built with `-fversion=Shared', but the libphobos part wasn't when creating the static library. As there are no issues compiling in Shared code into the static library, to avoid mismatches the flag is now always present when --enable-shared is turned on. Libtool's compiler PIC D flag is now the combination of compiler PIC and D Shared flags, and AM_DFLAGS passes `-prefer-pic' to libtool unless --enable-shared is turned off. libphobos/ChangeLog: * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Substitute enable_shared, enable_static, and phobos_lt_pic_flag. * libdruntime/Makefile.am (AM_DFLAGS): Replace phobos_compiler_pic_flag with phobos_lt_pic_flags, and phobos_compiler_shared_flag. * libdruntime/Makefile.in: Regenerate. * src/Makefile.am (AM_DFLAGS): Replace phobos_compiler_pic_flag with phobos_lt_pic_flag, and phobos_compiler_shared_flag. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/libphobos.druntime_shared/druntime_shared.exp: Remove -fversion=Shared and -fno-moduleinfo from default extra test flags. * testsuite/libphobos.phobos_shared/phobos_shared.exp: Likewise. * testsuite/testsuite_flags.in: Add phobos_compiler_shared_flag to --gdcflags.
2021-02-05Daily bump.GCC Administrator1-0/+8
2021-02-04d: Merge upstream dmd 46133f761, druntime 0fd4364cIain Buclaw15-733/+1196
D front-end changes: - Backported built-in function handling from upstream. - Added new intrinsic `byteswap(ushort)`. Druntime changes: - Update intrinsic modules core.bitop, core.checkedint, core.simd, core.vararg, and core.volatile. - Backport platform-specific fixes for runtime modules core.cpuid, core.internal.traits, and rt.lifetime. - Backport openbsd fixes for core.stdc.stdio. - Backport solaris fixes for core.sys.posix.locale, and core.thread.osthread (PR98910). gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 46133f761. * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc. (maybe_set_builtin_1): Likewise. * d-frontend.cc (eval_builtin): Adjust condition for early return. * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc. (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16. * intrinsics.def (INTRINSIC_BT): Update signature. (INTRINSIC_BT64): Likewise. (INTRINSIC_BSWAP16): New intrinsic. (INTRINSIC_VLOAD8): Update module. (INTRINSIC_VLOAD16): Likewise. (INTRINSIC_VLOAD32): Likewise. (INTRINSIC_VLOAD64): Likewise. (INTRINSIC_VSTORE8): Likewise. (INTRINSIC_VSTORE16): Likewise. (INTRINSIC_VSTORE32): Likewise. (INTRINSIC_VSTORE64): Likewise. (INTRINSIC_ADDS): Update signature. (INTRINSIC_ADDSL): Likewise. (INTRINSIC_ADDU): Likewise. (INTRINSIC_ADDUL): Likewise. (INTRINSIC_SUBS): Likewise. (INTRINSIC_SUBSL): Likewise. (INTRINSIC_SUBU): Likewise. (INTRINSIC_SUBUL): Likewise. (INTRINSIC_MULS): Likewise. (INTRINSIC_MULSL): Likewise. (INTRINSIC_MULU): Likewise. (INTRINSIC_MULUI): Likewise. (INTRINSIC_MULUL): Likewise. (INTRINSIC_NEGS): Likewise. (INTRINSIC_NEGSL): Likewise. libphobos/ChangeLog: PR d/98910 * libdruntime/MERGE: Merge upstream druntime 0fd4364c. * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/volatile.d. * libdruntime/Makefile.in: Regenerate. * testsuite/libphobos.allocations/tls_gc_integration.d: Update test. gcc/testsuite/ChangeLog: * gdc.dg/intrinsics.d: Update test.
2021-02-04Daily bump.GCC Administrator1-0/+22
2021-02-03libphobos: Merge upstream druntime 9d0c8364, phobos 9d575282e.Iain Buclaw35-412/+2172
Druntime changes: - Add platform-specific bindings for stdlib.h and sys/syctl.h. - Add darwin bindings for mach/dyld.h. - Fix solaris bindings for locale.h (PR98910). - Remove deprecated bindings from the module headers. Phobos changes: - Backport platform-specific fixes for std.conv, std.datetime, std.exception, std.experimental.allocator, std.file, std.math, std.parallelism, std.socket, std.stdio, and std.system. Reviewed-on: https://github.com/dlang/druntime/pull/3363 https://github.com/dlang/phobos/pull/7784 libphobos/ChangeLog: PR d/98910 * libdruntime/MERGE: Merge upstream druntime 9d0c8364. * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/internal/attributes.d (DRUNTIME_DSOURCES_BIONIC): Add core/sys/bionic/stdlib.d. (DRUNTIME_DSOURCES_DARWIN): Add core/sys/darwin/stdlib.d, and core/sys/darwin/sys/sysctl.d. (DRUNTIME_DSOURCES_DRAGONFLYBSD): Add core/sys/dragonflybsd/stdlib.d, and core/sys/dragonflybsd/sys/sysctl.d. (DRUNTIME_DSOURCES_FREEBSD): Add core/sys/freebsd/stdlib.d, and core/sys/freebsd/sys/sysctl.d. (DRUNTIME_DSOURCES_NETBSD): Add core/sys/netbsd/stdlib.d, and core/sys/netbsd/sys/sysctl.d. (DRUNTIME_DSOURCES_OPENBSD): Add core/sys/openbsd/stdlib.d, and core/sys/openbsd/sys/sysctl.d. (DRUNTIME_DSOURCES_SOLARIS): Add core/sys/solaris/stdlib.d. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos 9d575282e.
2021-01-31Daily bump.GCC Administrator1-0/+26
2021-01-30libphobos: Synchronize libdruntime bindings with upstream druntimeIain Buclaw343-12354/+13179
Reviewed-on: https://github.com/dlang/druntime/pull/3348 gcc/d/ChangeLog: * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't layout m_arg1 and m_arg2 fields. libphobos/ChangeLog: * Makefile.in: Regenerate. * configure: Regenerate. * libdruntime/MERGE: Merge upstream druntime e4aae28e. * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Refresh module list. (DRUNTIME_DSOURCES_BIONIC): Add core/sys/bionic/err.d. (DRUNTIME_DSOURCES_DARWIN): Add core/sys/darwin/err.d, core/sys/darwin/ifaddrs.d, core/sys/darwin/mach/nlist.d, core/sys/darwin/mach/stab.d, and core/sys/darwin/sys/attr.d. (DRUNTIME_DSOURCES_DRAGONFLYBSD): Add core/sys/dragonflybsd/err.d. (DRUNTIME_DSOURCES_FREEBSD): Add core/sys/freebsd/err.d. (DRUNTIME_DSOURCES_LINUX): Add core/sys/linux/err.d. (DRUNTIME_DSOURCES_NETBSD): Add core/sys/netbsd/err.d. (DRUNTIME_DSOURCES_OPENBSD): Add core/sys/openbsd/err.d. (DRUNTIME_DSOURCES_POSIX): Add core/sys/posix/locale.d, core/sys/posix/stdc/time.d, core/sys/posix/string.d, and core/sys/posix/strings.d. (DRUNTIME_DSOURCES_SOLARIS): Add core/sys/solaris/err.d. (DRUNTIME_DSOURCES_WINDOWS): Add core/sys/windows/sdkddkver.d, and core/sys/windows/stdc/time.d * libdruntime/Makefile.in: Regenerate. * libdruntime/gcc/sections/elf_shared.d (sizeofTLS): New function. * testsuite/libphobos.thread/fiber_guard_page.d: Use __traits(getMember) to get internal fields.
2021-01-27Daily bump.GCC Administrator1-0/+7
2021-01-26d: Merge upstream dmd 609c3ce2d, phobos 3dd5df686Iain Buclaw6-314/+361
D front-end changes: - Contracts for pre- and postconditions are now implicitly "this" const, so that state can no longer be altered in these functions. - Inside a constructor scope, assigning to aggregate declaration members is done by considering the first assignment as initialization and subsequent assignments as modifications of the constructed object. For const/immutable fields the initialization is accepted in the constructor but subsequent modifications are not. However this rule did not apply when inside a constructor scope there is a call to a different constructor. This been changed so it is now an error when there's a double initialization of immutable fields inside a constructor. Phobos changes: - Don't run unit-tests for unsupported clocks in std.datetime. The phobos and phobos_shared tests now add -fversion=Linux_Pre_2639 if required. - Deprecate public extern(C) bindings for getline and getdelim in std.stdio. The correct module for bindings is core.sys.posix.stdio. Reviewed-on: https://github.com/dlang/dmd/pull/12153 https://github.com/dlang/phobos/pull/7768 gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 609c3ce2d. * d-compiler.cc (Compiler::loadModule): Rename to ... (Compiler::onParseModule): ... this. (Compiler::onImport): New function. * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule. libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 3dd5df686. * testsuite/libphobos.phobos/phobos.exp: Add compiler flag -fversion=Linux_Pre_2639 if target is linux_pre_2639. * testsuite/libphobos.phobos_shared/phobos_shared.exp: Likewise.
2021-01-24Daily bump.GCC Administrator1-0/+7
2021-01-24libphobos: Fix executables segfault on mipsel architectureIain Buclaw1-0/+4
The dynamic section on MIPS is read-only, but this was not properly handled in the runtime library. The segfault only occurred for programs that linked to the shared libphobos library. libphobos/ChangeLog: PR d/98806 * libdruntime/gcc/sections/elf_shared.d (MIPS_Any): Declare version for MIPS32 and MIPS64. (getDependencies): Adjust dlpi_addr on MIPS_Any.
2021-01-06Daily bump.GCC Administrator1-0/+4
2021-01-05Update GNU/Hurd configure supportSamuel Thibault1-11/+1
ChangeLog: * libtool.m4: Match gnu* along other GNU systems. * libgo/config/libtool.m4: Match gnu* along other GNU systems. * libgo/configure: Re-generate. libffi/ * configure: Re-generate. libgomp/ * configure: Re-generate. gcc/ * configure: Re-generate. libatomic/ * configure: Re-generate. libbacktrace/ * configure: Re-generate. libcc1/ * configure: Re-generate. libgfortran/ * configure: Re-generate. libgomp/ * configure: Re-generate. libhsail-rt/ * configure: Re-generate. libitm/ * configure: Re-generate. libobjc/ * configure: Re-generate. liboffloadmic/ * configure: Re-generate. * plugin/configure: Re-generate. libphobos/ * configure: Re-generate. libquadmath/ * configure: Re-generate. libsanitizer/ * configure: Re-generate. libssp/ * configure: Re-generate. libstdc++-v3/ * configure: Re-generate. libvtv/ * configure: Re-generate. lto-plugin/ * configure: Re-generate. zlib/ * configure: Re-generate.
2021-01-04Update copyright years.Jakub Jelinek56-56/+56
2021-01-04Update Copyright in ChangeLog filesJakub Jelinek1-1/+1
Do this separately from all other Copyright updates, as ChangeLog files can be modified only separately.
2020-12-06Daily bump.GCC Administrator1-0/+5
2020-12-05Darwin : Update libtool and dependencies for Darwin20 [PR97865]Iain Sandoe1-20/+22
The change in major version (and the increment from Darwin19 to 20) caused libtool tests to fail which resulted in incorrect build settings for shared libraries. We take this opportunity to sort out the shared undefined symbols state rather than propagating the current unsound behaviour into a new rev. This change means that we default to the case that missing symbols are considered an error, and if one wants to allow this intentionally, the confiuration for that case should be set appropriately. Three existing cases need undefined dynamic lookup: libitm, where there is already a configuration mechanism to add the flags. libcc1, where we add simple configuration to add the flags for Darwin. libsanitizer, where we can add to the existing extra flags. libcc1/ChangeLog: PR target/97865 * Makefile.am: Add dynamic_lookup to LD flags for Darwin. * configure.ac: Test for Darwin host and set a flag. * Makefile.in: Regenerate. * configure: Regenerate. libitm/ChangeLog: PR target/97865 * configure.tgt: Add dynamic_lookup to XLDFLAGS for Darwin. * configure: Regenerate. libsanitizer/ChangeLog: PR target/97865 * configure.tgt: Add dynamic_lookup to EXTRA_CXXFLAGS for Darwin. * configure: Regenerate. ChangeLog: PR target/97865 * libtool.m4: Update handling of Darwin platform link flags for Darwin20. gcc/ChangeLog: PR target/97865 * configure: Regenerate. libatomic/ChangeLog: PR target/97865 * configure: Regenerate. libbacktrace/ChangeLog: PR target/97865 * configure: Regenerate. libffi/ChangeLog: PR target/97865 * configure: Regenerate. libgfortran/ChangeLog: PR target/97865 * configure: Regenerate. libgomp/ChangeLog: PR target/97865 * configure: Regenerate. libhsail-rt/ChangeLog: PR target/97865 * configure: Regenerate. libobjc/ChangeLog: PR target/97865 * configure: Regenerate. libphobos/ChangeLog: PR target/97865 * configure: Regenerate. libquadmath/ChangeLog: PR target/97865 * configure: Regenerate. libssp/ChangeLog: PR target/97865 * configure: Regenerate. libstdc++-v3/ChangeLog: PR target/97865 * configure: Regenerate. libvtv/ChangeLog: PR target/97865 * configure: Regenerate. zlib/ChangeLog: PR target/97865 * configure: Regenerate.
2020-12-01Daily bump.GCC Administrator1-0/+6
2020-11-30d: Add freebsd support for D compiler and runtimeIain Buclaw1-0/+3
gcc/ChangeLog: PR d/87818 * config.gcc (*-*-freebsd*): Add freebsd-d.o and t-freebsd. * config/freebsd-d.c: New file. * config/t-freebsd: New file. libphobos/ChangeLog: PR d/87818 * configure.tgt: Add x86_64-*-freebsd* and i?86-*-freebsd* as supported targets.
2020-11-28Daily bump.GCC Administrator1-0/+29
2020-11-27libphobos: Fix segfault at run-time when using custom Fibers (PR 98025)Iain Buclaw10-9/+43
When libphobos is configured with --enable-cet, this adds extra fields to the Fiber class to support the ucontext_t fallback implementation. These fields get omitted when compiling user code unless they also used `-fversion=CET' to build their project, which resulted in data being overwritten from within swapcontext(). On reviewing the ucontext_t definitions, it was found that the shadow stack fields were missing, and the struct size didn't match up on X32. This has been fixed in upstream druntime and merged down here. Reviewed-on: https://github.com/dlang/druntime/pull/3293 libphobos/ChangeLog: PR d/98025 * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac (DCFG_ENABLE_CET): Substitute. * libdruntime/MERGE: Merge upstream druntime 0fe7974c. * libdruntime/Makefile.in: Regenerate. * libdruntime/core/thread.d: Import gcc.config. (class Fiber): Add ucontext_t fields when GNU_Enable_CET is true. * libdruntime/gcc/config.d.in (GNU_Enable_CET): Define. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate.
2020-11-27libphobos: Merge upstream druntime d37ef985.Iain Buclaw13-99/+214
Adds support for FreeBSD/x86 53-bit precision reals, updates bindings for FreeBSD 12.x, and removes all support code and tests for the extern(Pascal) calling convention. Reviewed-on: https://github.com/dlang/druntime/pull/3286 https://github.com/dlang/druntime/pull/3287 libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d37ef985. * libdruntime/Makefile.am (DRUNTIME_DSOURCES_FREEBSD): Add core/sys/freebsd/config.d * libdruntime/Makefile.in: Regenerate.
2020-11-27libphobos: Merge upstream phobos 38873fe6e.Iain Buclaw6-41/+92
Adds support for FreeBSD/x86 53-bit precision reals, and removes all support code and tests for the extern(Pascal) calling convention. Reviewed-on: https://github.com/dlang/phobos/pull/7704 https://github.com/dlang/phobos/pull/7705 libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 38873fe6e.
2020-11-27d: Add float and double overloads for all core.math intrinsicsIain Buclaw2-50/+65
For the math intrinsics: cos, fabs, ldexp, rint, rndtol, and sin, new overloads have been added to the core.math module for matching float and double types. These have been implemented in the compiler. A recent change to dump_function_to_file started triggering some scan-tree-dump tests to FAIL, these have been adjusted as well when updating the test. gcc/d/ChangeLog: * intrinsics.cc (maybe_expand_intrinsic): Handle new intrinsics. * intrinsics.def (INTRINSIC_COS): Add float and double overloads. (INTRINSIC_FABS): Likewise. (INTRINSIC_LDEXP): Likewise. (INTRINSIC_RINT): Likewise. (INTRINSIC_RNDTOL): Likewise. (INTRINSIC_SIN): Likewise. (INTRINSIC_TOPREC): Adjust signature. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 5e4492c4. gcc/testsuite/ChangeLog: * gdc.dg/intrinsics.d: Adjust patterns in scan-tree-dump.
2020-11-19Daily bump.GCC Administrator1-0/+11
2020-11-18d: Add dragonflybsd support for D compiler and runtimeIain Buclaw3-2/+5
gcc/ChangeLog: * config.gcc (*-*-dragonfly*): Add dragonfly-d.o and t-dragonfly. * config/dragonfly-d.c: New file. * config/t-dragonfly: New file. libphobos/ChangeLog: * configure.tgt: Add *-*-dragonfly* as a supported target. * configure: Regenerate. * m4/druntime/os.m4 (DRUNTIME_OS_SOURCES): Add dragonfly* as a posix target.
2020-11-18libphobos: Merge upstream phobos 7948e0967.Iain Buclaw2-268/+1
Removes deprecated functions from std.string module. Reviewed-on: https://github.com/dlang/phobos/pull/7694 libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 7948e0967.
2020-11-14Daily bump.GCC Administrator1-0/+5
2020-11-13libphobos: Update libtool version to 2:0:0Iain Buclaw2-2/+2
This is so that the library is not to conflict with gcc-10. libphobos/ChangeLog: * configure: Regenerate. * configure.ac (libtool_VERSION): Update to 2:0.0.
2020-10-28Daily bump.GCC Administrator1-0/+4
2020-10-27d: Remove the d_critsec_size target hook.Iain Buclaw2-1/+19
The allocation of mutex objects for synchronized statements has been moved to the library as of merging druntime 58560d51. All support code in the compiler for getting the OS critical section size has been removed along with it. Reviewed-on: https://github.com/dlang/dmd/pull/11902 https://github.com/dlang/druntime/pull/3248 gcc/ChangeLog: * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE): Remove. * config/glibc-d.c (glibc_d_critsec_size): Likewise. (TARGET_D_CRITSEC_SIZE): Likewise. * config/i386/linux-common.h (GNU_USER_TARGET_D_CRITSEC_SIZE): Likewise. * config/sol2-d.c (solaris_d_critsec_size): Likewise. (TARGET_D_CRITSEC_SIZE): Likewise. * doc/tm.texi.in (TARGET_D_CRITSEC_SIZE): Likewise. * doc/tm.texi: Regenerate. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd bec5973b0. * d-target.cc (Target::critsecsize): Remove. * d-target.def: Remove d_critsec_size. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 58560d51.
2020-10-13Daily bump.GCC Administrator1-0/+10
2020-10-12MIPS/libphobos: Fix switchcontext.S assembly for MIPS I ISAMaciej W. Rozycki1-12/+12
Correct MIPS I assembly build errors in switchcontext.S: .../libphobos/libdruntime/config/mips/switchcontext.S: Assembler messages: .../libphobos/libdruntime/config/mips/switchcontext.S:50: Error: opcode not supported on this processor: mips1 (mips1) `sdc1 $f20,(0*8-((6*8+4+(-6*8+4&7))))($sp)' etc., due to the use of the MIPS II LDC1 and SDC1 hardware instructions for FP register load and store operations. Instead use the L.D and S.D generic assembly instructions, which are strict aliases for the LDC1 and SDC1 instructions respectively and produce identical machine code where the assembly for the MIPS II or a higher ISA has been requested, however they become assembly macros and expand to compatible sequences of LWC1 and SWC1 hardware instructions where the assembly for the MIPS I ISA is in effect. libphobos/ * libdruntime/config/mips/switchcontext.S [__mips_hard_float]: Use L.D and S.D generic assembly instructions rather than LDC1 and SDC1 MIPS II hardware instructions.
2020-10-12libphobos: Override tool_timeout value in testsuiteIain Buclaw1-0/+4
Some of the larger tests in the phobos testsuite on occasion trigger the default timeout limit. Increasing the limit to 10 minutes should give compilation enough time to finish. libphobos/ChangeLog: * testsuite/lib/libphobos.exp: Define tool_timeout, set to 600.
2020-09-11Daily bump.GCC Administrator1-0/+22
2020-09-10libphobos: libdruntime doesn't support shadow stack (PR95680)Iain Buclaw12-55/+66
The first implementation hit a front-end implementation bug where version conditions are resolved ahead of static if confitions. The logic for whether to use asm implemented fiber_switchContext or libc's swapcontext has been moved from GNU_Enable_CET to version CET. libphobos/ChangeLog: PR d/95680 PR d/97007 * Makefile.am (AM_MAKEFLAGS): Remove $(CET_FLAGS). * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac (DCFG_ENABLE_CET): Remove substitution. (CET_DFLAGS): Substitute. * libdruntime/Makefile.am (AM_DFLAGS): Add $(CET_DFLAGS). (AM_CFLAGS): Add $(CET_FLAGS). (AM_CCASFLAGS): Likewise. * libdruntime/Makefile.in: Regenerate. * libdruntime/core/thread.d: Replace static if GNU_Enable_CET condition with `version (CET)'. * libdruntime/gcc/config.d.in (GNU_Enable_CET): Remove. * src/Makefile.am (AM_DFLAGS): Add $(CET_DFLAGS). (AM_CFLAGS): Add $(CET_FLAGS). * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Add $(CET_DFLAGS) to --gdcflags.
2020-09-10Daily bump.GCC Administrator1-0/+6
2020-09-09libphobos: Include <cet.h> to generate the CET marker for -fcf-protectionH.J. Lu1-0/+5
Include <cet.h> to generate the CET marker for -fcf-protection to avoid /bin/ld: ../libdruntime/.libs/libgdruntime_convenience.a(libgdruntime_convenience_la-switchcontext.o): error: missing IBT and SHSTK properties when -z cet-report=error is passed to the linker to create libgphobos.so and libgdruntime.so. PR d/95680 * libdruntime/config/x86/switchcontext.S: Include <cet.h> to generate the CET marker for -fcf-protection.
2020-09-09Daily bump.GCC Administrator1-0/+14
2020-09-08libphobos: libdruntime doesn't support shadow stack (PR95680)Iain Buclaw9-34/+64
Rather than implementing support within D runtime itself, use libc getcontext/swapcontext functions if CET is enabled. Removes whatever CET support was in the switchContext routine for x86 D runtime, along with setting version AsmExternal, so that the fallback ucontext_t implementation is used, which is capable of doing shadow stack handling. libphobos/ChangeLog: PR d/95680 * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac (DCFG_ENABLE_CET): Substitute. * libdruntime/Makefile.in: Regenerate. * libdruntime/config/x86/switchcontext.S: Remove CET support code. * libdruntime/core/thread.d: Import gcc.config. Don't set version AsmExternal when GNU_Enable_CET is true. * libdruntime/gcc/config.d.in (GNU_Enable_CET): Define. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate.
2020-06-26Daily bump.GCC Administrator1-0/+6
2020-06-25d: Turn on deprecation warnings by default.Iain Buclaw5-6/+6
This is the default in the upstream reference compiler, and can reduce some confusion when comparing warning/error messages of gdc and dmd side by side. Merges libphobos with upstream druntime d05ebaad and phobos 021ae0df7. Reviewed-on: https://github.com/dlang/druntime/pull/3127 https://github.com/dlang/phobos/pull/7521 gcc/d/ChangeLog: * d-lang.cc (d_init_options): Turn on deprecation warnings by default. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d05ebaad. * src/MERGE: Merge upstream phobos 021ae0df7. * testsuite/libphobos.typeinfo/struct-align.d: Remove empty statement. gcc/testsuite/ChangeLog: * gdc.dg/asm1.d: Don't use deprecated asm syntax. * gdc.dg/compilable.d: Add public to selective import. * gdc.dg/lto/ltotests_0.d: Explicitly catch Throwable. * gdc.dg/runnable.d: Remove empty statement.
2020-05-30Daily bump.GCC Administrator1-0/+5
2020-05-29Avoid nested save_CFLAGS and save_LDFLAGSH.J. Lu1-4/+5
Avoid nested save_CFLAGS and save_LDFLAGS by replacing save_CFLAGS and save_LDFLAGS with cet_save_CFLAGS and cet_save_LDFLAGS in cet.m4. config/ PR bootstrap/95413 * cet.m4: Replace save_CFLAGS and save_LDFLAGS with cet_save_CFLAGS and cet_save_LDFLAGS. gcc/ PR bootstrap/95413 * configure: Regenerated. libatomic/ PR bootstrap/95413 * configure: Regenerated. libbacktrace/ PR bootstrap/95413 * configure: Regenerated. libcc1/ PR bootstrap/95413 * configure: Regenerated. libcpp/ PR bootstrap/95413 * configure: Regenerated. libdecnumber/ PR bootstrap/95413 * configure: Regenerated. libgcc/ PR bootstrap/95413 * configure: Regenerated. libgfortran/ PR bootstrap/95413 * configure: Regenerated. libgomp/ PR bootstrap/95413 * configure: Regenerated. libiberty/ PR bootstrap/95413 * configure: Regenerated. libitm/ PR bootstrap/95413 * configure: Regenerated. libobjc/ PR bootstrap/95413 * configure: Regenerated. libphobos/ PR bootstrap/95413 * configure: Regenerated. libquadmath/ PR bootstrap/95413 * configure: Regenerated. libsanitizer/ PR bootstrap/95413 * configure: Regenerated. libssp/ PR bootstrap/95413 * configure: Regenerated. libstdc++-v3/ PR bootstrap/95413 * configure: Regenerated. libvtv/ PR bootstrap/95413 * configure: Regenerated. lto-plugin/ PR bootstrap/95413 * configure: Regenerated. zlib/ PR bootstrap/95413 * configure: Regenerated.
2020-05-17libphobos: Merge upstream druntime 5cc061a8, phobos 64ed4684fIain Buclaw5-16/+56
- core.cpuid has been fixed to not use i7 detection on AMD processors. - std.net.curl has been fixed to correctly handle HTTP/2 status lines. - std.zip has had a test fixed to not rely on unzip being installed. Fixes: PR d/95166 PR d/95167 PR d/95168 Reviewed-on: https://github.com/dlang/druntime/pull/3107 https://github.com/dlang/phobos/pull/7486
2020-05-15x86: Also check if -fcf-protection worksH.J. Lu2-4/+12
When defaulting CET run-time support to auto, check if -fcf-protection works. Even if the stage1 GCC doesn't support -fcf-protection, since the final GCC does, CET run-time support will be enabled by default if binutils support CET. config/ PR bootstrap/95147 * cet.m4 (GCC_CET_FLAGS): Also check if -fcf-protection works when defaulting to auto. libatomic/ PR bootstrap/95147 * configure: Regenerated. libbacktrace/ PR bootstrap/95147 * configure: Regenerated. libgcc/ PR bootstrap/95147 * configure: Regenerated. libgfortran/ PR bootstrap/95147 * configure: Regenerated. libgomp/ PR bootstrap/95147 * configure: Regenerated. libitm/ PR bootstrap/95147 * configure: Regenerated. libobjc/ PR bootstrap/95147 * configure: Regenerated. libphobos/ PR bootstrap/95147 * configure: Regenerated. libquadmath/ PR bootstrap/95147 * configure: Regenerated. libsanitizer/ PR bootstrap/95147 * configure: Regenerated. libssp/ PR bootstrap/95147 * configure: Regenerated. libstdc++-v3/ PR bootstrap/95147 * configure: Regenerated. libvtv/ PR bootstrap/95147 * configure: Regenerated. zlib/ PR bootstrap/95147 * configure: Regenerated.
2020-05-08switchcontext.S: Include <cet.h> and use _CET_ENDBRH.J. Lu2-0/+15
When __CET__ is defined, <cet.h> should be included to add Intel CET marker to object file and _CET_ENDBR should be placed at function entry to indicate indirect branch target. * libdruntime/config/x86/switchcontext.S: Include <cet.h> if __CET__ is defined. (_CET_ENDBR): New. Define if __CET__ is not defined. (fiber_switchContext): Add _CET_ENDBR after .cfi_startproc.
2020-05-08libphobos: Add --enable-cet to configureH.J. Lu6-12/+114
When --enable-cet is used to configure GCC, enable Intel CET in libphobos. * Makefile.am (AM_MAKEFLAGS): Add $(CET_FLAGS) to GCC FLAGS. * configure.ac (CET_FLAGS): Add GCC_CET_FLAGS and AC_SUBST. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure.ac: Likewise.
2020-04-30Add missing ChangeLog entryIain Buclaw1-0/+12
2020-04-30d: Merge upstream dmd 934df6f8c, druntime 7bdd83d7Iain Buclaw9-269/+96
Corrects a previous change made to the SPARC stdc bindings, and backports PPC-related fixes. The library and language testsuite now passes fully on powerpc64le-linux-gnu. Fixes: PR d/90719 Fixes: PR d/94825 Reviewed-on: https://github.com/dlang/dmd/pull/11079 https://github.com/dlang/druntime/pull/3078 https://github.com/dlang/druntime/pull/3083 libphobos/ChangeLog: PR d/94825 * libdruntime/Makefile.am (DRUNTIME_SOURCES_CONFIGURED): Remove config/powerpc/switchcontext.S * libdruntime/Makefile.in: Regenerate. * libdruntime/config/powerpc/callwithstack.S: Remove. * libdruntime/config/powerpc/switchcontext.S: Fix symbol name of fiber_switchContext. * libdruntime/core/thread.d: Disable fiber migration tests on PPC. * testsuite/libphobos.thread/fiber_guard_page.d: Set guardPageSize same as stackSize.