This patch from jwjager...@gmail.com clones the fixes done for
mingw and darwin to make LTO work together with -g in GCC 8+.
It's said to build OK in a djgpp configuration and I expect similar
results as for mingw and darwin.
The original application the reporter ran into the issue with isn't
f
Am 26.07.2018 um 22:54 schrieb Thomas Koenig:
Hi Ulrich,
The problem is that io/asynch.h unconditionally uses a couple of
features that are not provided by gthr-simplex, in particular
__gthread_cond_t
and
__gthread_equal / __gthread_self
According to the documentation in gthr.h, the form
On 27/07/18 01:46, Paul Koning wrote:
>
>
>> On Jul 26, 2018, at 7:34 PM, Joseph Myers wrote:
>>
>> On Wed, 25 Jul 2018, Richard Earnshaw (lists) wrote:
>>
> Port maintainers DO need to decide what to do about speculation, even if
> it is explicitly that no mitigation is needed.
>>>
ailures2
Native configuration is x86_64-suse-linux-gnu
+===GNAT BUG DETECTED==+
| 9.0.0 20180727 (experimental) [trunk revision 263028] (x86_64-suse-linux)
GCC error:|
| in handle_char_store, at tree-ssa-strlen.c:3332
Similar to Arm, this adds an unconditional speculation barrier for AArch64.
* config/aarch64.md (unspecv): Add UNSPECV_SPECULAION_BARRIER.
(speculation_barrier): New insn.
---
gcc/config/aarch64/aarch64.md | 10 ++
1 file changed, 10 insertions(+)
diff --git a/gcc/config
Port Maintainers: You need to decide what action is required for your
port to handle speculative execution, even if that action is to use
the trivial no-speculation on this architecture. You must also
consider whether or not a furture implementation of your architecture
might need to deal with thi
This patch defines a speculation barrier for AArch32.
* config/arm/unspecs.md (unspecv): Add VUNSPEC_SPECULATION_BARRIER.
* config/arm/arm.md (speculation_barrier): New expand.
(speculation_barrier_insn): New pattern.
---
gcc/config/arm/arm.md | 21 +++
This patch is the main part of the speculation tracking code. It adds
a new target-specific pass that is run just before the final branch
reorg pass (so that it can clean up any new edge insertions we make).
The pass is only run with -mtrack-speculation is passed on the command
line.
One thing t
This patch defines a new intrinsic function
__builtin_speculation_safe_value. A generic default implementation is
defined which will attempt to use the backend pattern
"speculation_safe_barrier". If this pattern is not defined, or if it
is not available, then the compiler will emit a warning, bu
In this final patch, now that we can track speculation through conditional
branches, we can use this information to use a less expensive CSDB based
speculation barrier.
* config/aarch64/iterators.md (ALLI_TI): New iterator.
* config/aarch64/aarch64.md (despeculate_copy): New
This patch is intended as an example of all that is needed if the
target system doesn't support CPUs that have speculative execution.
I've chosen the pdp11 port on the basis that it's old enough that this
is likely to be true for all existing implementations and that there
is also little chance of
This patch adds a speculation barrier for x86, based on my
understanding of the required mitigation for that CPU, which is to use
an lfence instruction.
This patch needs some review by an x86 expert and if adjustments are
needed, I'd appreciate it if they could be picked up by the port
maintainer
This hook adds an alternative implementation for the target hook
TARGET_HAVE_SPECULATION_SAFE_VALUE; it can be used by targets that have no
CPU implementations that execute code speculatively. All that is needed for
such targets now is to add:
#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
#define
The CB[N]Z and TB[N]Z instructions do not expose the comparison through
the condition code flags. This makes it impossible to track speculative
execution through such a branch. We can handle this relatively easily
by simply disabling the patterns in this case.
A side effect of this is that the
This patch doesn't do anything useful, it simply adds a new command-line
option -mtrack-speculation to AArch64. Subsequent patches build on this.
* config/aarch64/aarch64.opt (mtrack-speculation): New target option.
---
gcc/config/aarch64/aarch64.opt | 4
1 file changed, 4 insertio
This patch reworks the existing rs6000_speculation_barrier pattern to
work with the new __builtin_sepculation_safe_value() intrinsic. The
change is trivial as it simply requires renaming the existing speculation
barrier pattern.
So the total patch is to delete 14 characters!
* config/rs
(this patch is already uploaded to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86690 )
If a struct contains an anonymous union and both have a field with the
same name, detect_field_duplicates_hash() will replace one of them
with NULL. If compilation doesn't stop immediately, it may later call
lo
On Fri, 27 Jul 2018, Richard Earnshaw (lists) wrote:
> The c-c++-common/spec-barrier-1.c test will fail on any target that has
> not been updated (it deliberately doesn't check for
> __HAVE_SPECULATION_BARRIER before trying to use the new intrinsic). The
> test contains a comment to that effect.
On Thu, Jul 26, 2018 at 6:26 PM, Joseph Myers wrote:
> On Mon, 16 Jul 2018, Alexander von Gluck IV wrote:
>
>> * We have been dragging these around since gcc 4.x.
>> * Some tweaks will likely be needed, but this gets our foot
>> in the door.
>>
>> Authors:
>> Fredrik Holmqvist
>> Jerome Duva
On 07/26/2018 05:00 PM, Marc Glisse wrote:
> On Thu, 26 Jul 2018, Martin Liška wrote:
>
>> Following patch implements new predictors that annotates malloc-like
>> functions.
>> These almost every time return a non-null value.
>
> Out of curiosity (the __builtin_expect there doesn't hurt and we d
On 07/27/2018 05:37 AM, Richard Earnshaw wrote:
+/* Work out the size of the first argument of a call to
+ __builtin_speculation_safe_value. Only pointers and integral types
+ are permitted. Return -1 if the argument type is not supported or
+ the size is too large; 0 if the argument type
Thomas,
Correct, the proposed patch does not fix the build failure on AIX.
Please see the information on the GCC Compile Farm wiki page for
instructions to bootstrap on gcc119.
https://gcc.gnu.org/wiki/CompileFarm#Projects_Ideas - at the bottom of
Project ideas.
Thanks, David
On Fri, Jul 27, 201
On 27/07/18 13:11, Nathan Sidwell wrote:
> On 07/27/2018 05:37 AM, Richard Earnshaw wrote:
>
> +/* Work out the size of the first argument of a call to
> + __builtin_speculation_safe_value. Only pointers and integral types
> + are permitted. Return -1 if the argument type is not supported or
On Fri, 27 Jul 2018, Martin Liška wrote:
So answer is yes, the builtin can be then removed.
Good, thanks. While looking at how widely it is going to apply, I noticed
that the default, throwing operator new has attribute malloc and
everything, but the non-throwing variant declared in doesn't
Hi Sam
On 25/07/18 14:08, Sam Tebbs wrote:
On 07/23/2018 05:01 PM, Sudakshina Das wrote:
Hi Sam
On Monday 23 July 2018 11:39 AM, Sam Tebbs wrote:
Hi all,
This patch extends the aarch64_get_lane_zero_extendsi instruction
definition to
also cover DI mode. This prevents a redundant AND instr
On 07/27/2018 08:32 AM, Richard Earnshaw (lists) wrote:
The intention is to allow pointer to anything.
Oh, the speculation safe fetch is of the pointer itself, not the thing
being pointed to. I'd missed that. I'm not sure I understand why that
needs special casing down to the expander (why
On 27/07/18 13:11, Nathan Sidwell wrote:
> + if (!COMPLETE_TYPE_P (type))
> +goto incompatible;
>
> Are incomplete integral types a thing? (forward enum extension?)
>
I don't think so, at least not at the level of having an instance of
such a type (as opposed to a pointer to one). Enums,
Hi!
This patch adds omp_pause_resource{,_all} APIs. So far they do something
only for the host device, where they free the thread pool (if any),
including pthread_join waiting for the threads in that team (this means
we don't create threads as detached anymore, but instead detach them before
pthr
July 27, 2018 6:59 AM, "Ramana Radhakrishnan" wrote:
> On Thu, Jul 26, 2018 at 6:26 PM, Joseph Myers wrote:
>
>> On Mon, 16 Jul 2018, Alexander von Gluck IV wrote:
>>
>>> * We have been dragging these around since gcc 4.x.
>>> * Some tweaks will likely be needed, but this gets our foot
>>> in t
As reported in PR/86662, use of __int20 in a program built with -mlarge and
-flto causes a segfault for msp430 due to endless recursion in
gimple_get_alias_set.
The attached patch fixes this.
The segfault can be observed on the gcc-7 and gcc-8 branches, and on trunk.
The testcase works in gcc-6
S
> On Jul 27, 2018, at 5:37 AM, Richard Earnshaw
> wrote:
>
>
> This patch is intended as an example of all that is needed if the
> target system doesn't support CPUs that have speculative execution.
> I've chosen the pdp11 port on the basis that it's old enough that this
> is likely to be tr
Hi Nicolas,
I think your patch doesn't quite work as expected:
@@ -238,9 +238,10 @@ LSYM(Lad_a):
movsip, ip, lsl #1
adcsxl, xl, xl
adc xh, xh, xh
- tst xh, #0x0010
- sub r4, r4, #1
- bne LSYM(Lad_e)
+ subsr4, r4, #1
+
On 07/11/2018 02:31 PM, Richard Biener wrote:
> Why not simply make popcountdi available in the kernel? They do have
> implementations for other libgcc functions IIRC.
Can you please Kugan create Linux kernel bug for that? So that discussion
can happen?
Thanks,
Martin
On 07/26/2018 04:52 AM, Martin Liška wrote:
Hello.
Quite simple patch that initializes a boolean value before it's used.
The variable is not initialized when an error recovery happens.
Ready for trunk after testing?
ok, thanks
nathan
--
Nathan Sidwell
On Thu, 2018-07-26 at 13:22 +0100, Andre Vieira (lists) wrote:
[...snip...]
> > > diff --git a/gcc/testsuite/gcc.c-torture/compile/pr86636.c
> > > b/gcc/testsuite/gcc.c-torture/compile/pr86636.c
> > > new file mode 100644
> > > index 000..2fe2f70
> > > --- /dev/null
> > > +++ b/gcc/testsuite/
Ping:
https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00594.html
On Wed, 2018-07-11 at 22:42 -0400, David Malcolm wrote:
> PR c++/84993 identifies a problem with our suggestions for
> misspelled member names in the C++ FE for the case where the
> member is private.
>
> For example, given:
>
> cl
On 07/27/2018 03:05 AM, Eric Botcazou wrote:
I missed your approval and didn't get to committing the patch
until today. While retesting it on top of fresh trunk I noticed
a few test failures due to other recent strlen changes. I made
adjustments to the patch to avoid most of them and opened bug
Thanks for review and approval. To respond to your question about error
messages:
>
> microdoc3.c:22:3: error: invalid parameter combination for AltiVec intrinsic
> ‘__builtin_vec_vaddcuq’
>u1 = vec_vaddcuq (d2, d3);
>^~
On 7/26/18 9:54 AM, Segher Boessenkool wrote:
> On Thu, Jul 26, 2
On July 27, 2018 3:33:59 PM GMT+02:00, "Martin Liška" wrote:
>On 07/11/2018 02:31 PM, Richard Biener wrote:
>> Why not simply make popcountdi available in the kernel? They do have
>> implementations for other libgcc functions IIRC.
>
>Can you please Kugan create Linux kernel bug for that? So that
On July 27, 2018 3:27:49 PM GMT+02:00, Paul Koning
wrote:
>
>
>> On Jul 27, 2018, at 5:37 AM, Richard Earnshaw
> wrote:
>>
>>
>> This patch is intended as an example of all that is needed if the
>> target system doesn't support CPUs that have speculative execution.
>> I've chosen the pdp11 port
On 07/23/2018 05:14 AM, Ilya Leoshkevich wrote:
FIRST_PSEUDO_REGISTER is not a hard regno, so comparisons should use
"<" instead of "<=", and ">=" instread of ">".
Thank you for finding these typos. LRA parts of the patch are ok for me.
On Fri, 27 Jul 2018, Wilco Dijkstra wrote:
> Hi Nicolas,
>
> I think your patch doesn't quite work as expected:
>
> @@ -238,9 +238,10 @@ LSYM(Lad_a):
> movsip, ip, lsl #1
> adcsxl, xl, xl
> adc xh, xh, xh
> - tst xh, #0x0010
> - sub r4, r4, #1
>
My yesterday's change to tree-ssa-strlen.c introduced a test
for INTEGER_TYPE where INTEGRAL_TYPE_P should have been used,
causing a subsequent ICE when the latter was supplied.
The attached patch corrects the test and also makes the subsequent
code more robust and be prepared for the test to fai
On Fri, 27 Jul 2018, Nicolas Pitre wrote:
> On Fri, 27 Jul 2018, Wilco Dijkstra wrote:
>
> > Hi Nicolas,
> >
> > I think your patch doesn't quite work as expected:
> >
> > @@ -238,9 +238,10 @@ LSYM(Lad_a):
> > movsip, ip, lsl #1
> > adcsxl, xl, xl
> > adc xh, xh, xh
> >
Nicolas Pitre wrote:
>> However if r4 is non-zero, the carry will be set, and the tsths will be
>> executed. This
>> clears the carry and sets the Z flag based on bit 20.
>
> No, not at all. The carry is not affected. And that's the point of the
> tst instruction here rather than a cmp: it sets
> FWIW, there are 128 failures in the GCC test suite on x86_64.
> Many of these have been there for weeks (e.g., the lto failures
> due to PR86004), even years (guality). My script to compare
> the results against a baseline uses the following regular
> expression to extract the names of failing (
On 27/07/18 16:39, David Malcolm wrote:
> On Thu, 2018-07-26 at 13:22 +0100, Andre Vieira (lists) wrote:
>
> [...snip...]
>
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr86636.c
b/gcc/testsuite/gcc.c-torture/compile/pr86636.c
new file mode 100644
index 000..2fe2f70
>>
On Fri, 27 Jul 2018, Wilco Dijkstra wrote:
> Nicolas Pitre wrote:
>
> >> However if r4 is non-zero, the carry will be set, and the tsths will be
> >> executed. This
> >> clears the carry and sets the Z flag based on bit 20.
> >
> > No, not at all. The carry is not affected. And that's the point
On 07/27/2018 10:17 AM, Eric Botcazou wrote:
FWIW, there are 128 failures in the GCC test suite on x86_64.
Many of these have been there for weeks (e.g., the lto failures
due to PR86004), even years (guality). My script to compare
the results against a baseline uses the following regular
express
On Fri, 2018-07-27 at 17:43 +0100, Andre Vieira (lists) wrote:
> On 27/07/18 16:39, David Malcolm wrote:
> > On Thu, 2018-07-26 at 13:22 +0100, Andre Vieira (lists) wrote:
> >
> > [...snip...]
> >
> > > > > diff --git a/gcc/testsuite/gcc.c-torture/compile/pr86636.c
> > > > > b/gcc/testsuite/gcc.c
On Fri, 27 Jul 2018, Bogdan Harjoc wrote:
> If a struct contains an anonymous union and both have a field with the
> same name, detect_field_duplicates_hash() will replace one of them
> with NULL. If compilation doesn't stop immediately, it may later call
> lookup_field() on the union, which false
On Fri, 27 Jul 2018, Ramana Radhakrishnan wrote:
> Joseph,
>
> A lot of such information seems to come out from a number of reviewers
> only during patch review from new contributors. Would you mind
> improving https://gcc.gnu.org/contribute.html and especially around
> "Testing patches" or star
I committed this in r263032.
On 07/27/2018 09:53 AM, Martin Sebor wrote:
My yesterday's change to tree-ssa-strlen.c introduced a test
for INTEGER_TYPE where INTEGRAL_TYPE_P should have been used,
causing a subsequent ICE when the latter was supplied.
The attached patch corrects the test and als
I built gdb with -fsanitize=undefined, and there was a complaint coming
from cplus-dem.c. remember_Btype can call memcpy with a NULL pointer,
which is undefined behavior according to the C standard.
This patch fixes the problem for me. I tested this by rebuilding gdb
(with -fsanitize=undefined)
On Fri, 27 Jul 2018, Alexander von Gluck IV wrote:
> >> It's much better for issues to be identified within a day or two of the
> >> commit causing them than many months later, possibly only after a release
> >> has come out with the issue - but that requires an ongoing commitment to
> >> keep mon
This libgo patch by Than McIntosh prunes sighandler frames in
runtime.sigprof. When writing stack frames to the pprof CPU profile
machinery, it is very important to insure that the frames emitted do
not contain any frames corresponding to artifacts of the profiling
process itself (signal handlers,
Hello, gentle maintainer.
This is a message from the Translation Project robot.
A revised PO file for textual domain 'gcc' has been submitted
by the Ukrainian team of translators. The file is available at:
http://translationproject.org/latest/gcc/uk.po
(This file, 'gcc-8.2.0.uk.po', has ju
On 2018-07-27 5:37 AM, Richard Earnshaw wrote:
Port Maintainers: You need to decide what action is required for your
port to handle speculative execution, even if that action is to use
the trivial no-speculation on this architecture. You must also
consider whether or not a furture implementation
On Fri, Jul 27, 2018 at 10:12 AM, Tom Tromey wrote:
> I built gdb with -fsanitize=undefined, and there was a complaint coming
> from cplus-dem.c. remember_Btype can call memcpy with a NULL pointer,
> which is undefined behavior according to the C standard.
>
> This patch fixes the problem for me.
Apropos of the discussion about improving the docs for
TARGET_CUSTOM_FUNCTION_DESCRIPTORS in the context of the C-SKY port
submission,
https://gcc.gnu.org/ml/gcc-patches/2018-07/msg01454.html
here is the patch I've come up with based on reading the source. Is
this technically accurate? Any
> On Jul 27, 2018, at 4:39 PM, Sandra Loosemore wrote:
>
> Apropos of the discussion about improving the docs for
> TARGET_CUSTOM_FUNCTION_DESCRIPTORS in the context of the C-SKY port
> submission,
>
> https://gcc.gnu.org/ml/gcc-patches/2018-07/msg01454.html
>
> here is the patch I've come
Richard Biener writes:
> DJ, did you ever run the testsuite with a configuration that has LTO
> enabled? I don't see any djgpp results posted to gcc-testresults.
> Quick googling doesn't yield anything useful with regarding on how to
> do actual testing with a cross so I only built a i686-pc-ms
> What I was trying to highlight is that rolling my own solution like
> this makes missing regressions more likely than having a shared
> solution would.
But 'make mail-report.log' is precisely the shared solution, no need to
reinvent the wheel here.
--
Eric Botcazou
> Apropos of the discussion about improving the docs for
> TARGET_CUSTOM_FUNCTION_DESCRIPTORS in the context of the C-SKY port
> submission,
>
> https://gcc.gnu.org/ml/gcc-patches/2018-07/msg01454.html
>
> here is the patch I've come up with based on reading the source. Is
> this technically acc
This patch removes some duplicated code in dumpfile.c by
reimplementing the various dump_foo_loc calls in terms of dump_foo.
gcc/ChangeLog:
* dump-context.h (dump_context::dump_loc): New decl.
* dumpfile.c (dump_context::dump_loc): New member function.
(dump_context::dump_g
This patch kit converts dump_print and dump_printf_loc from using
fprintf etc internally to using a new pretty-printer
based on pp_format, which supports formatting middle-end types.
In particular, the following codes are implemented (in addition
to the standard pretty_printer ones):
%E: gimpl
This makes it easier to compare cp_printer with gcc_cxxdiag_char_table
in c-format.c.
No functional change intended.
gcc/cp/ChangeLog:
* error.c (cp_printer): In the leading comment, move "%H" and "I"
into alphabetical order, and add missing "%G" and "K". Within the
switc
The format_char_info tables in c-format.c for our own formats contain
a lot of repetition.
This patch adds a macro to express the conversion specifiers implemented
within pp_format, making it clearer which are custom ones added by the
various diagnostic_format_decoder callbacks.
Doing so uncovere
This patch converts dump_print and dump_printf_loc from using
printf (and thus ATTRIBUTE_PRINTF) to using a new pretty-printer
based on pp_format, which supports formatting middle-end types.
In particular, the following codes are implemented (in addition
to the standard pretty_printer ones):
%
With the addition of optinfo, the various dump_* calls had three parts:
- optionally print to dump_file
- optionally print to alt_dump_file
- optionally make an optinfo_item and add it to the pending optinfo,
creating it for dump_*_loc calls.
However, this split makes it difficult to implement t
On Wed, Jul 18, 2018 at 05:59:50PM -0500, Segher Boessenkool wrote:
> Hi Mike,
>
> On Fri, Jul 13, 2018 at 04:56:13PM -0400, Michael Meissner wrote:
> > This means rather than keeping the toc fusion around (that nobody used), I
> > would prefer to delete the current code, and replace it with bette
On 07/27/2018 03:44 PM, Eric Botcazou wrote:
Apropos of the discussion about improving the docs for
TARGET_CUSTOM_FUNCTION_DESCRIPTORS in the context of the C-SKY port
submission,
https://gcc.gnu.org/ml/gcc-patches/2018-07/msg01454.html
here is the patch I've come up with based on reading the s
Hello, gentle maintainer.
This is a message from the Translation Project robot.
A revised PO file for textual domain 'gcc' has been submitted
by the German team of translators. The file is available at:
http://translationproject.org/latest/gcc/de.po
(This file, 'gcc-8.2.0.de.po', has just
Hi,
On 28 July 2018 at 01:13, Richard Biener wrote:
> On July 27, 2018 3:33:59 PM GMT+02:00, "Martin Liška" wrote:
>>On 07/11/2018 02:31 PM, Richard Biener wrote:
>>> Why not simply make popcountdi available in the kernel? They do have
>>> implementations for other libgcc functions IIRC.
>>
>>C
On 07/26/2018 12:06 AM, 瞿仙淼 wrote:
I wrote a case to reproduce this problem on C-SKY. C code is as follows:
---
int e1, e2;
void func (int a, int b, int c, int d, int f, int g)
{
e1 = a > b ? f : g;
e2 = a > b ? c : d;
75 matches
Mail list logo