RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2028798 - gcc: reload failures on x86-64 after Systemtap 4.6 upgrade
Summary: gcc: reload failures on x86-64 after Systemtap 4.6 upgrade
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: gcc
Version: 8.6
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Marek Polacek
QA Contact: Václav Kadlčík
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-12-03 11:40 UTC by Florian Weimer
Modified: 2023-07-18 14:19 UTC (History)
9 users (show)

Fixed In Version: gcc-8.5.0-6.el8
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-05-10 15:27:26 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
good-dl-load.i (390.54 KB, text/plain)
2021-12-03 11:40 UTC, Florian Weimer
no flags Details
bad-dl-load.i (402.09 KB, text/plain)
2021-12-03 11:41 UTC, Florian Weimer
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-104693 0 None None None 2021-12-03 11:42:50 UTC
Red Hat Product Errata RHBA-2022:2072 0 None None None 2022-05-10 15:27:52 UTC

Description Florian Weimer 2021-12-03 11:40:36 UTC
Created attachment 1844580 [details]
good-dl-load.i

The attached reproducer needs to be compiled -O2 -fstack-clash-protection. Then the error for bad-dl-load.i is:

during RTL pass: reload
dl-load.c: In function ‘_dl_map_object_from_fd’:
dl-load.c:1452:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90)

I do not think it's the number of newlines (unlike on Arm) that is the problem here. The issue appears to trigger once the constraint changes to "norf".

We didn't see this on later GCC versions.

I could reproduce the issue with systemtap-sdt-devel-4.6-2.el8.x86_64. This build isn't in the buildroot yet, so we have some time to resolve this.

Comment 1 Florian Weimer 2021-12-03 11:41:22 UTC
Created attachment 1844581 [details]
bad-dl-load.i

Comment 2 Jakub Jelinek 2021-12-03 11:50:40 UTC
Bisection points to https://gcc.gnu.org/r10-2587-gcc19f80ceb27cc3d31d259ebecaad12005acfd7e which wasn't a RA fix though.

Comment 3 Jakub Jelinek 2021-12-03 12:25:06 UTC
Reduced testcase, just -O2 is enough:
struct B { int a; };
int c, d;
int bar (void);
void baz (void);

void
foo (struct B *f)
{
  int *g = (int *) (__INTPTR_TYPE__) bar ();
lab:
  __asm__("" ::"norfxy"(g));
  baz ();
  int k[d];
  for (; f < (struct B *) &f; ++f)
    switch (f->a)
    case 1:
      if (__builtin_expect (c, 0))
        goto lab;
}

This one got fixed with https://gcc.gnu.org/r11-3041-g6001db79c477b03eacc7e7049560921fb54b7845
which from quick look might be a real fix, but dunno how risky it is to backport it.

I think the "f" in the constraint is a terribly bad idea, reg-stack.c makes quite a few assumptions on what inline asm
can do with the f/t/u constraints.

Comment 9 Frank Ch. Eigler 2021-12-07 20:15:27 UTC
See also: bug #2029924

Comment 10 Frank Ch. Eigler 2021-12-07 20:16:48 UTC
and: bug #2029926

Comment 17 errata-xmlrpc 2022-05-10 15:27:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (gcc bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:2072


Note You need to log in before you can comment on or make changes to this bug.