Ryan
2008-Oct-15 09:01 UTC
[dtrace-discuss] gccfss-4.2.0 fixincludes headers out of date, breaking dtrace SDT
Hi all, (CC''ing dtrace-discuss as an FYI+workaround) I''m using dtrace -h to define provider probes for my application, and it wraps the resulting probe provider definitions in an #if _DTRACE_VERSION. Everything works fine for cc/CC, but gcc/g++ (gccfss v4.2.0) doesn''t seem to define it and the provider call macros expand to nothing instead. A diff shows that gcc uses an out of date version of the file; either the older version did not have the #define, or gcc''s fixincludes script stripped the definition away. I suspect the former; how many other fixincludes headers are out of date? There''s an easy workaround, at least: just add the definition to gcc''s version of the file. $ diff /usr/include/sys/feature_test.h $GCC_INCLUDES/sys/feature_test.h 0a1,9 > /* DO NOT EDIT THIS FILE. > > It has been auto-edited by fixincludes from: > > "/usr/include/sys/feature_tests.h" > > This had to be done to correct non-standard usages in the > original, manufacturer supplied header file. */ > 2c11 < * Copyright 2007 Sun Microsystems, Inc. All rights reserved. --- > * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9c18 < #pragma ident "@(#)feature_tests.h 1.25 07/02/02 SMI" --- > #pragma ident "@(#)feature_tests.h 1.24 04/09/28 SMI" 112c121 < #if (__STDC__ - 0 == 1 && !defined(__GNUC__)) || \ --- > #if ( defined(__STRICT_ANSI__) && !defined(__GNUC__)) || \ 365,370d373 < /* < * The following macro indicates header support for DTrace. The value is an < * integer that corresponds to the major version number for DTrace. < */ < #define _DTRACE_VERSION 1 < -- This message posted from opensolaris.org
Maybe Matching Threads
- [LLVMdev] llvm-gcc make check
- [LLVMdev] semicolon breaking builds on llvm-gcc4.2 cygwin build for arm target 2.2prerelease2
- OpenSSH 7.3p1 can't be build on Solaris 10
- OpenSSH 7.3p1 can't be build on Solaris 10
- compiling R-2.10.0 on solaris - lib_I_dbg_gen.so.1: version `DBG_GEN_5.1' not found