Project

General

Profile

Bug #10824

GCC7-derived CTF can double qualifiers on arrays

Added by John Levon 7 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Start date:
2019-04-18
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

http://smartos.org/bugview/OS-7700

Given:

static const union regress {
unsigned int i3;
long double e;
} regress9;

built with GCC7 and through a DWARF->CTF->ctfdump-c pass, we get:

union regress { /* 0xc bytes /
unsigned int i3; /
offset: 0 bytes /
long double e; /
offset: 0 bytes */
};

extern const const union regress regress9;

Note the "const const". This breaks the CTF tests under a GCC7 build.

History

#1

Updated by Electric Monk 6 months ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit 6ef284f1d464c08bc420048a0b211080cb9fe009

commit  6ef284f1d464c08bc420048a0b211080cb9fe009
Author: John Levon <john.levon@joyent.com>
Date:   2019-05-03T09:15:58.000Z

    10823 should ignore DW_TAG_subprogram with DW_AT_declaration tags
    10824 GCC7-derived CTF can double qualifiers on arrays
    10825 ctfdump -c drops last type
    10826 ctfdump -c goes off the rails with a missing parent
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Jason King <jason.king@joyent.com>
    Approved by: Gordon Ross <gwr@nexenta.com>

Also available in: Atom PDF