From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15447 invoked by alias); 25 Feb 2014 09:36:26 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 15423 invoked by uid 48); 25 Feb 2014 09:36:22 -0000 From: "ahanins at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug other/60336] New: va_start corrupts 6-th argument in case of empty type used before the format string Date: Tue, 25 Feb 2014 09:36:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: other X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ahanins at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-02/txt/msg02498.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60336 Bug ID: 60336 Summary: va_start corrupts 6-th argument in case of empty type used before the format string Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: ahanins at gmail dot com Created attachment 32208 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32208&action=edit va_list corruption simple example The code in attachment (for convenience see here http://coliru.stacked-crooked.com/a/14319753d1667629) prints garbage instead of 6-th argument if Dummy struct is empty. Adding some member to this struct "fixes" the problem. Not sure, whether problem is in Gcc code generation or libc, but probably related to ABI. Tested on Ubuntu 13.04 64bit.