This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/12137] SDT fails -pedantic with too-long strings


http://sourceware.org/bugzilla/show_bug.cgi?id=12137

--- Comment #2 from Josh Stone <jistone at redhat dot com> 2010-10-20 00:27:30 UTC ---
(In reply to comment #1)
> And that's with the file installed as /usr/local/include/sys/sdt.h?

Yes, I confirmed this with -E.  For this test, it's via testsuite/sys/sdt.h,
which does get to /usr/local correctly in the end.

> I thought -isystem defeated that particular lossage--it certainly did in the
> tests I did before.  It's only with -pedantic (generally considered useless,
> though some nutballs do put it in their builds), by the way.

I agree, a compiler message of "I'm not required to support this" is a bit
lame, but it is still a regression.  SDT V2 and V1 work fine with -pedantic.

> Any such report needs full details about the gcc version.

Sorry - this is on Fedora 13, both i686 and x86_64.
gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)

An example from -E:

static void call4(int a, int b, int c, int d)
{
  __asm__ __volatile__ ("990: nop""\n" ".pushsection
.note.stapsdt"",""\"\""",""\"note\"""\n" ".balign 4""\n" ".4byte
992f-991f"",""994f-993f"",""3""\n" "991: .asciz \"stapsdt\"""\n" "992: .balign
4""\n" "993: .8byte 990b""\n" ".8byte _.stapsdt.base""\n" ".8byte 0""\n"
".asciz \"test\"""\n" ".asciz \"mark_d\"""\n" ".asciz \"%n[_SDT_S1]@%[_SDT_A1]
%n[_SDT_S2]@%[_SDT_A2] %n[_SDT_S3]@%[_SDT_A3] %n[_SDT_S4]@%[_SDT_A4]\"""\n"
"994: .balign 4""\n" ".popsection""\n" ".ifndef _.stapsdt.base""\n"
".pushsection .stapsdt.base"",""\"aG\""",""\"progbits\""","
".stapsdt.base"",""comdat""\n" ".weak _.stapsdt.base""\n" ".hidden
_.stapsdt.base""\n" "_.stapsdt.base: .space 1""\n" ".size
_.stapsdt.base"",""1""\n" ".popsection""\n" ".endif""\n" :: [_SDT_S1] "n"
(((__typeof((a) + 0)) -1L > (__typeof((a) + 0)) 0 ? -1 : 1) * (int) sizeof ((a)
+ 0)), [_SDT_A1] "nor" ((a) + 0), [_SDT_S2] "n" (((__typeof((b) + 0)) -1L >
(__typeof((b) + 0)) 0 ? -1 : 1) * (int) sizeof ((b) + 0)), [_SDT_A2] "nor" ((b)
+ 0), [_SDT_S3] "n" (((__typeof((c) + 0)) -1L > (__typeof((c) + 0)) 0 ? -1 : 1)
* (int) sizeof ((c) + 0)), [_SDT_A3] "nor" ((c) + 0), [_SDT_S4] "n"
(((__typeof((d) + 0)) -1L > (__typeof((d) + 0)) 0 ? -1 : 1) * (int) sizeof ((d)
+ 0)), [_SDT_A4] "nor" ((d) + 0));
}

Is it possible to split that into multiple __asm__ statements?

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]