public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors
@ 2013-11-13 22:53 bergner at gcc dot gnu.org
  2013-11-13 23:10 ` [Bug sanitizer/59122] " jakub at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: bergner at gcc dot gnu.org @ 2013-11-13 22:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

            Bug ID: 59122
           Summary: libsanitizer merge from upstream r191666 causes
                    duplicate symbol errors
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bergner at gcc dot gnu.org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org

After the bootstrap issue from PR59009 was fixed, I'm now seeing other fallout
from the upstream libsanitizer merge.

[bergner@igoo asan]$ cat foo.i 
extern int printf(const char *format, ...);
void
Child (void)
{
  char x[32] = {0};
  printf ("Child:  \n", x);
}

int
main (void)
{
  return 0;
}
[bergner@igoo asan]$ /home/bergner/gcc/build/gcc-fsf-mainline-asan/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-asan/gcc/ -fsanitize=address -O1
-m32 -c foo.i 
/tmp/ccadY6mS.s: Assembler messages:
/tmp/ccadY6mS.s:136: Error: symbol `.LASANPC0' is already defined

The duplicate symbol is coming from:

void
asan_function_start (void)
{
  section *fnsec = function_section (current_function_decl);
  switch_to_section (fnsec);
  ASM_OUTPUT_DEBUG_LABEL (asm_out_file, "LASANPC",
                         current_function_funcdef_no);
}

It seems current_function_funcdef_no isn't being incremented when we expected
it to be.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug sanitizer/59122] libsanitizer merge from upstream r191666 causes duplicate symbol errors
  2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
@ 2013-11-13 23:10 ` jakub at gcc dot gnu.org
  2013-11-14  9:51 ` [Bug sanitizer/59122] [4.9 Regression] " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-11-13 23:10 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 31213
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31213&action=edit
untested fix

This seems to work for me in the cross, but it is a hack in any case (before
and now with the patch).  What I need is some way how to represent labels
emitted somewhere in the current CU, wonder what a proper way (rather than
pretending it is a VAR_DECL in current CU) would be.  Can it be say a
LABEL_DECL with hand set DECL_RTL, something else?


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug sanitizer/59122] [4.9 Regression] libsanitizer merge from upstream r191666 causes duplicate symbol errors
  2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
  2013-11-13 23:10 ` [Bug sanitizer/59122] " jakub at gcc dot gnu.org
@ 2013-11-14  9:51 ` rguenth at gcc dot gnu.org
  2013-11-14 15:29 ` bergner at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-11-14  9:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.9.0
            Summary|libsanitizer merge from     |[4.9 Regression]
                   |upstream r191666 causes     |libsanitizer merge from
                   |duplicate symbol errors     |upstream r191666 causes
                   |                            |duplicate symbol errors


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug sanitizer/59122] [4.9 Regression] libsanitizer merge from upstream r191666 causes duplicate symbol errors
  2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
  2013-11-13 23:10 ` [Bug sanitizer/59122] " jakub at gcc dot gnu.org
  2013-11-14  9:51 ` [Bug sanitizer/59122] [4.9 Regression] " rguenth at gcc dot gnu.org
@ 2013-11-14 15:29 ` bergner at gcc dot gnu.org
  2013-11-14 17:23 ` bergner at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: bergner at gcc dot gnu.org @ 2013-11-14 15:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #1)
> This seems to work for me in the cross, but it is a hack in any case (before
> and now with the patch).

I'll give your patch a try, thanks.


> What I need is some way how to represent labels
> emitted somewhere in the current CU, wonder what a proper way (rather than
> pretending it is a VAR_DECL in current CU) would be.  Can it be say a
> LABEL_DECL with hand set DECL_RTL, something else?

Maybe richi has a suggestion?  I'm not familiar with this code, so I have no
suggestions to give.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug sanitizer/59122] [4.9 Regression] libsanitizer merge from upstream r191666 causes duplicate symbol errors
  2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2013-11-14 15:29 ` bergner at gcc dot gnu.org
@ 2013-11-14 17:23 ` bergner at gcc dot gnu.org
  2013-11-14 18:28 ` jakub at gcc dot gnu.org
  2013-11-15 16:58 ` bergner at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: bergner at gcc dot gnu.org @ 2013-11-14 17:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Peter Bergner from comment #2)
> (In reply to Jakub Jelinek from comment #1)
> > This seems to work for me in the cross, but it is a hack in any case (before
> > and now with the patch).
> 
> I'll give your patch a try, thanks.

Your patch fixed the duplicate symbol errors for me, so unless someone else has
a better idea, I'm fine with it.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug sanitizer/59122] [4.9 Regression] libsanitizer merge from upstream r191666 causes duplicate symbol errors
  2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2013-11-14 17:23 ` bergner at gcc dot gnu.org
@ 2013-11-14 18:28 ` jakub at gcc dot gnu.org
  2013-11-15 16:58 ` bergner at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-11-14 18:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Nov 14 18:28:43 2013
New Revision: 204801

URL: http://gcc.gnu.org/viewcvs?rev=204801&root=gcc&view=rev
Log:
    PR sanitizer/59122
    * asan.c (asan_emit_stack_protection): Ensure -fsection-anchors
    isn't confused by the artificial decl.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/asan.c


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug sanitizer/59122] [4.9 Regression] libsanitizer merge from upstream r191666 causes duplicate symbol errors
  2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2013-11-14 18:28 ` jakub at gcc dot gnu.org
@ 2013-11-15 16:58 ` bergner at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: bergner at gcc dot gnu.org @ 2013-11-15 16:58 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59122

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> ---
This is fixed for me with Jakub's patch.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-11-15 16:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-13 22:53 [Bug sanitizer/59122] New: libsanitizer merge from upstream r191666 causes duplicate symbol errors bergner at gcc dot gnu.org
2013-11-13 23:10 ` [Bug sanitizer/59122] " jakub at gcc dot gnu.org
2013-11-14  9:51 ` [Bug sanitizer/59122] [4.9 Regression] " rguenth at gcc dot gnu.org
2013-11-14 15:29 ` bergner at gcc dot gnu.org
2013-11-14 17:23 ` bergner at gcc dot gnu.org
2013-11-14 18:28 ` jakub at gcc dot gnu.org
2013-11-15 16:58 ` bergner at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).