When passed the -g3 flag, GCC can generate Dwarf macro info that contains bad file numbers. The test input file bad-macro-file.i is included at the bottom. $ gcc --version gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ gcc -v Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --host=x86_64-redhat-linux Thread model: posix gcc version 4.0.1 20050727 (Red Hat 4.0.1-5) $ gcc -g3 -S -dA bad-macro-file.i $ Look at the .debug_macro section in bad-macro-file.s. After the #inclusion of stdarg.h, the numbers used to refer to files in the dwarf info no longer match the numbers used in the .file directives. If we proceed with the link, readelf -wml shows that this has indeed produced bogus info. Note that the line info file table has only 18 entries, but the macro information refers to file number 19 (file numbers start with one, not zero). Things start to go bad after the data for <stdarg.h>: DW_MACINFO_start_file - lineno: 139 filenum: 18 DW_MACINFO_define - lineno : 24 macro : L_tmpnam 20 DW_MACINFO_define - lineno : 25 macro : TMP_MAX 238328 file number 18 is sys_errlist.h, but L_tmpnam is defined on line 24 of /usr/include/bits/stdio_lim.h. Dump of debug contents of section .debug_line: ... The File Name Table: Entry Dir Time Size Name 1 0 0 0 bad-macro-file.c 2 1 0 0 stdio.h 3 1 0 0 features.h 4 2 0 0 cdefs.h 5 3 0 0 stubs.h 6 4 0 0 wordsize.h 7 3 0 0 stubs-64.h 8 5 0 0 stddef.h 9 4 0 0 types.h 10 4 0 0 typesizes.h 11 1 0 0 libio.h 12 1 0 0 _G_config.h 13 1 0 0 wchar.h 14 4 0 0 wchar.h 15 1 0 0 gconv.h 16 5 0 0 stdarg.h 17 4 0 0 stdio_lim.h 18 4 0 0 sys_errlist.h Line Number Statements: Extended opcode 2: set Address to 0x400468 Special opcode 8: advance Address by 0 to 0x400468 and Line by 3 to 4 Special opcode 61: advance Address by 4 to 0x40046c and Line by 0 to 4 Advance PC by 2 to 40046e Extended opcode 1: End of Sequence Contents of the .debug_macinfo section: DW_MACINFO_start_file - lineno: 0 filenum: 1 DW_MACINFO_define - lineno : 1 macro : __STDC_HOSTED__ 1 DW_MACINFO_define - lineno : 1 macro : __GNUC__ 4 DW_MACINFO_define - lineno : 1 macro : __GNUC_MINOR__ 0 DW_MACINFO_define - lineno : 1 macro : __GNUC_PATCHLEVEL__ 1 DW_MACINFO_define - lineno : 1 macro : __GNUC_RH_RELEASE__ 5 DW_MACINFO_define - lineno : 1 macro : __SIZE_TYPE__ long unsigned int DW_MACINFO_define - lineno : 1 macro : __PTRDIFF_TYPE__ long int DW_MACINFO_define - lineno : 1 macro : __WCHAR_TYPE__ int DW_MACINFO_define - lineno : 1 macro : __WINT_TYPE__ unsigned int DW_MACINFO_define - lineno : 1 macro : __INTMAX_TYPE__ long int DW_MACINFO_define - lineno : 1 macro : __UINTMAX_TYPE__ long unsigned int DW_MACINFO_define - lineno : 1 macro : __GXX_ABI_VERSION 1002 DW_MACINFO_define - lineno : 1 macro : __SCHAR_MAX__ 127 DW_MACINFO_define - lineno : 1 macro : __SHRT_MAX__ 32767 DW_MACINFO_define - lineno : 1 macro : __INT_MAX__ 2147483647 DW_MACINFO_define - lineno : 1 macro : __LONG_MAX__ 9223372036854775807L DW_MACINFO_define - lineno : 1 macro : __LONG_LONG_MAX__ 9223372036854775807LL DW_MACINFO_define - lineno : 1 macro : __WCHAR_MAX__ 2147483647 DW_MACINFO_define - lineno : 1 macro : __CHAR_BIT__ 8 DW_MACINFO_define - lineno : 1 macro : __INTMAX_MAX__ 9223372036854775807L DW_MACINFO_define - lineno : 1 macro : __FLT_EVAL_METHOD__ 0 DW_MACINFO_define - lineno : 1 macro : __FLT_RADIX__ 2 DW_MACINFO_define - lineno : 1 macro : __FLT_MANT_DIG__ 24 DW_MACINFO_define - lineno : 1 macro : __FLT_DIG__ 6 DW_MACINFO_define - lineno : 1 macro : __FLT_MIN_EXP__ (-125) DW_MACINFO_define - lineno : 1 macro : __FLT_MIN_10_EXP__ (-37) DW_MACINFO_define - lineno : 1 macro : __FLT_MAX_EXP__ 128 DW_MACINFO_define - lineno : 1 macro : __FLT_MAX_10_EXP__ 38 DW_MACINFO_define - lineno : 1 macro : __FLT_MAX__ 3.40282347e+38F DW_MACINFO_define - lineno : 1 macro : __FLT_MIN__ 1.17549435e-38F DW_MACINFO_define - lineno : 1 macro : __FLT_EPSILON__ 1.19209290e-7F DW_MACINFO_define - lineno : 1 macro : __FLT_DENORM_MIN__ 1.40129846e-45F DW_MACINFO_define - lineno : 1 macro : __FLT_HAS_INFINITY__ 1 DW_MACINFO_define - lineno : 1 macro : __FLT_HAS_QUIET_NAN__ 1 DW_MACINFO_define - lineno : 1 macro : __DBL_MANT_DIG__ 53 DW_MACINFO_define - lineno : 1 macro : __DBL_DIG__ 15 DW_MACINFO_define - lineno : 1 macro : __DBL_MIN_EXP__ (-1021) DW_MACINFO_define - lineno : 1 macro : __DBL_MIN_10_EXP__ (-307) DW_MACINFO_define - lineno : 1 macro : __DBL_MAX_EXP__ 1024 DW_MACINFO_define - lineno : 1 macro : __DBL_MAX_10_EXP__ 308 DW_MACINFO_define - lineno : 1 macro : __DBL_MAX__ 1.7976931348623157e+308 DW_MACINFO_define - lineno : 1 macro : __DBL_MIN__ 2.2250738585072014e-308 DW_MACINFO_define - lineno : 1 macro : __DBL_EPSILON__ 2.2204460492503131e-16 DW_MACINFO_define - lineno : 1 macro : __DBL_DENORM_MIN__ 4.9406564584124654e-324 DW_MACINFO_define - lineno : 1 macro : __DBL_HAS_INFINITY__ 1 DW_MACINFO_define - lineno : 1 macro : __DBL_HAS_QUIET_NAN__ 1 DW_MACINFO_define - lineno : 1 macro : __LDBL_MANT_DIG__ 64 DW_MACINFO_define - lineno : 1 macro : __LDBL_DIG__ 18 DW_MACINFO_define - lineno : 1 macro : __LDBL_MIN_EXP__ (-16381) DW_MACINFO_define - lineno : 1 macro : __LDBL_MIN_10_EXP__ (-4931) DW_MACINFO_define - lineno : 1 macro : __LDBL_MAX_EXP__ 16384 DW_MACINFO_define - lineno : 1 macro : __LDBL_MAX_10_EXP__ 4932 DW_MACINFO_define - lineno : 1 macro : __DECIMAL_DIG__ 21 DW_MACINFO_define - lineno : 1 macro : __LDBL_MAX__ 1.18973149535723176502e+4932L DW_MACINFO_define - lineno : 1 macro : __LDBL_MIN__ 3.36210314311209350626e-4932L DW_MACINFO_define - lineno : 1 macro : __LDBL_EPSILON__ 1.08420217248550443401e-19L DW_MACINFO_define - lineno : 1 macro : __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L DW_MACINFO_define - lineno : 1 macro : __LDBL_HAS_INFINITY__ 1 DW_MACINFO_define - lineno : 1 macro : __LDBL_HAS_QUIET_NAN__ 1 DW_MACINFO_define - lineno : 1 macro : __REGISTER_PREFIX__ DW_MACINFO_define - lineno : 1 macro : __USER_LABEL_PREFIX__ DW_MACINFO_define - lineno : 1 macro : __VERSION__ "4.0.1 20050727 (Red Hat 4.0.1-5)" DW_MACINFO_define - lineno : 1 macro : _LP64 1 DW_MACINFO_define - lineno : 1 macro : __LP64__ 1 DW_MACINFO_define - lineno : 1 macro : __NO_INLINE__ 1 DW_MACINFO_define - lineno : 1 macro : __FINITE_MATH_ONLY__ 0 DW_MACINFO_define - lineno : 1 macro : __amd64 1 DW_MACINFO_define - lineno : 1 macro : __amd64__ 1 DW_MACINFO_define - lineno : 1 macro : __x86_64 1 DW_MACINFO_define - lineno : 1 macro : __x86_64__ 1 DW_MACINFO_define - lineno : 1 macro : __tune_k8__ 1 DW_MACINFO_define - lineno : 1 macro : __MMX__ 1 DW_MACINFO_define - lineno : 1 macro : __SSE__ 1 DW_MACINFO_define - lineno : 1 macro : __SSE2__ 1 DW_MACINFO_define - lineno : 1 macro : __SSE_MATH__ 1 DW_MACINFO_define - lineno : 1 macro : __SSE2_MATH__ 1 DW_MACINFO_define - lineno : 1 macro : __k8 1 DW_MACINFO_define - lineno : 1 macro : __k8__ 1 DW_MACINFO_define - lineno : 1 macro : __gnu_linux__ 1 DW_MACINFO_define - lineno : 1 macro : __linux 1 DW_MACINFO_define - lineno : 1 macro : __linux__ 1 DW_MACINFO_define - lineno : 1 macro : linux 1 DW_MACINFO_define - lineno : 1 macro : __unix 1 DW_MACINFO_define - lineno : 1 macro : __unix__ 1 DW_MACINFO_define - lineno : 1 macro : unix 1 DW_MACINFO_define - lineno : 1 macro : __ELF__ 1 DW_MACINFO_start_file - lineno: 2 filenum: 2 DW_MACINFO_define - lineno : 27 macro : _STDIO_H 1 DW_MACINFO_start_file - lineno: 29 filenum: 3 DW_MACINFO_define - lineno : 20 macro : _FEATURES_H 1 DW_MACINFO_undef - lineno : 90 macro : __USE_ISOC99 DW_MACINFO_undef - lineno : 91 macro : __USE_POSIX DW_MACINFO_undef - lineno : 92 macro : __USE_POSIX2 DW_MACINFO_undef - lineno : 93 macro : __USE_POSIX199309 DW_MACINFO_undef - lineno : 94 macro : __USE_POSIX199506 DW_MACINFO_undef - lineno : 95 macro : __USE_XOPEN DW_MACINFO_undef - lineno : 96 macro : __USE_XOPEN_EXTENDED DW_MACINFO_undef - lineno : 97 macro : __USE_UNIX98 DW_MACINFO_undef - lineno : 98 macro : __USE_XOPEN2K DW_MACINFO_undef - lineno : 99 macro : __USE_LARGEFILE DW_MACINFO_undef - lineno : 100 macro : __USE_LARGEFILE64 DW_MACINFO_undef - lineno : 101 macro : __USE_FILE_OFFSET64 DW_MACINFO_undef - lineno : 102 macro : __USE_BSD DW_MACINFO_undef - lineno : 103 macro : __USE_SVID DW_MACINFO_undef - lineno : 104 macro : __USE_MISC DW_MACINFO_undef - lineno : 105 macro : __USE_GNU DW_MACINFO_undef - lineno : 106 macro : __USE_REENTRANT DW_MACINFO_undef - lineno : 107 macro : __USE_FORTIFY_LEVEL DW_MACINFO_undef - lineno : 108 macro : __FAVOR_BSD DW_MACINFO_undef - lineno : 109 macro : __KERNEL_STRICT_NAMES DW_MACINFO_define - lineno : 114 macro : __KERNEL_STRICT_NAMES DW_MACINFO_define - lineno : 118 macro : __USE_ANSI 1 DW_MACINFO_define - lineno : 128 macro : __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) DW_MACINFO_define - lineno : 169 macro : _BSD_SOURCE 1 DW_MACINFO_define - lineno : 170 macro : _SVID_SOURCE 1 DW_MACINFO_define - lineno : 186 macro : _POSIX_SOURCE 1 DW_MACINFO_define - lineno : 190 macro : _POSIX_C_SOURCE 199506L DW_MACINFO_define - lineno : 195 macro : __USE_POSIX 1 DW_MACINFO_define - lineno : 199 macro : __USE_POSIX2 1 DW_MACINFO_define - lineno : 203 macro : __USE_POSIX199309 1 DW_MACINFO_define - lineno : 207 macro : __USE_POSIX199506 1 DW_MACINFO_define - lineno : 246 macro : __USE_MISC 1 DW_MACINFO_define - lineno : 250 macro : __USE_BSD 1 DW_MACINFO_define - lineno : 254 macro : __USE_SVID 1 DW_MACINFO_define - lineno : 280 macro : __STDC_IEC_559__ 1 DW_MACINFO_define - lineno : 281 macro : __STDC_IEC_559_COMPLEX__ 1 DW_MACINFO_define - lineno : 284 macro : __STDC_ISO_10646__ 200009L DW_MACINFO_undef - lineno : 292 macro : __GNU_LIBRARY__ DW_MACINFO_define - lineno : 293 macro : __GNU_LIBRARY__ 6 DW_MACINFO_define - lineno : 297 macro : __GLIBC__ 2 DW_MACINFO_define - lineno : 298 macro : __GLIBC_MINOR__ 3 DW_MACINFO_define - lineno : 300 macro : __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) DW_MACINFO_define - lineno : 308 macro : __GLIBC_HAVE_LONG_LONG 1 DW_MACINFO_start_file - lineno: 315 filenum: 4 DW_MACINFO_define - lineno : 20 macro : _SYS_CDEFS_H 1 DW_MACINFO_undef - lineno : 35 macro : __P DW_MACINFO_undef - lineno : 36 macro : __PMT DW_MACINFO_define - lineno : 46 macro : __THROW __attribute__ ((__nothrow__)) DW_MACINFO_define - lineno : 47 macro : __NTH(fct) __attribute__ ((__nothrow__)) fct DW_MACINFO_define - lineno : 73 macro : __P(args) args DW_MACINFO_define - lineno : 74 macro : __PMT(args) args DW_MACINFO_define - lineno : 79 macro : __CONCAT(x,y) x ## y DW_MACINFO_define - lineno : 80 macro : __STRING(x) #x DW_MACINFO_define - lineno : 83 macro : __ptr_t void * DW_MACINFO_define - lineno : 84 macro : __long_double_t long double DW_MACINFO_define - lineno : 92 macro : __BEGIN_DECLS DW_MACINFO_define - lineno : 93 macro : __END_DECLS DW_MACINFO_define - lineno : 113 macro : __BEGIN_NAMESPACE_STD DW_MACINFO_define - lineno : 114 macro : __END_NAMESPACE_STD DW_MACINFO_define - lineno : 115 macro : __USING_NAMESPACE_STD(name) DW_MACINFO_define - lineno : 116 macro : __BEGIN_NAMESPACE_C99 DW_MACINFO_define - lineno : 117 macro : __END_NAMESPACE_C99 DW_MACINFO_define - lineno : 118 macro : __USING_NAMESPACE_C99(name) DW_MACINFO_define - lineno : 124 macro : __bounded DW_MACINFO_define - lineno : 125 macro : __unbounded DW_MACINFO_define - lineno : 126 macro : __ptrvalue DW_MACINFO_define - lineno : 131 macro : __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) DW_MACINFO_define - lineno : 132 macro : __bos0(ptr) __builtin_object_size (ptr, 0) DW_MACINFO_define - lineno : 133 macro : __warndecl(name,msg) extern void name (void) DW_MACINFO_define - lineno : 139 macro : __flexarr [] DW_MACINFO_define - lineno : 166 macro : __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) DW_MACINFO_define - lineno : 171 macro : __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW DW_MACINFO_define - lineno : 174 macro : __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) DW_MACINFO_define - lineno : 175 macro : __ASMNAME2(prefix,cname) __STRING (prefix) cname DW_MACINFO_define - lineno : 196 macro : __attribute_malloc__ __attribute__ ((__malloc__)) DW_MACINFO_define - lineno : 205 macro : __attribute_pure__ __attribute__ ((__pure__)) DW_MACINFO_define - lineno : 214 macro : __attribute_used__ __attribute__ ((__used__)) DW_MACINFO_define - lineno : 215 macro : __attribute_noinline__ __attribute__ ((__noinline__)) DW_MACINFO_define - lineno : 223 macro : __attribute_deprecated__ __attribute__ ((__deprecated__)) DW_MACINFO_define - lineno : 235 macro : __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) DW_MACINFO_define - lineno : 245 macro : __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b))) DW_MACINFO_define - lineno : 254 macro : __nonnull(params) __attribute__ ((__nonnull__ params)) DW_MACINFO_define - lineno : 262 macro : __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__)) DW_MACINFO_define - lineno : 271 macro : __wur DW_MACINFO_define - lineno : 276 macro : __always_inline __inline __attribute__ ((__always_inline__)) DW_MACINFO_define - lineno : 298 macro : __restrict_arr __restrict DW_MACINFO_end_file DW_MACINFO_start_file - lineno: 338 filenum: 5 DW_MACINFO_start_file - lineno: 5 filenum: 6 DW_MACINFO_define - lineno : 4 macro : __WORDSIZE 64 DW_MACINFO_define - lineno : 5 macro : __WORDSIZE_COMPAT32 1 DW_MACINFO_end_file DW_MACINFO_start_file - lineno: 10 filenum: 7 DW_MACINFO_define - lineno : 10 macro : __stub___kernel_cosl DW_MACINFO_define - lineno : 11 macro : __stub___kernel_rem_pio2l DW_MACINFO_define - lineno : 12 macro : __stub___kernel_sinl DW_MACINFO_define - lineno : 13 macro : __stub___kernel_tanl DW_MACINFO_define - lineno : 14 macro : __stub_bdflush DW_MACINFO_define - lineno : 15 macro : __stub_chflags DW_MACINFO_define - lineno : 16 macro : __stub_fattach DW_MACINFO_define - lineno : 17 macro : __stub_fchflags DW_MACINFO_define - lineno : 18 macro : __stub_fdetach DW_MACINFO_define - lineno : 19 macro : __stub_feupdateenv DW_MACINFO_define - lineno : 20 macro : __stub_getmsg DW_MACINFO_define - lineno : 21 macro : __stub_gtty DW_MACINFO_define - lineno : 22 macro : __stub_lchmod DW_MACINFO_define - lineno : 23 macro : __stub_lutimes DW_MACINFO_define - lineno : 24 macro : __stub_putmsg DW_MACINFO_define - lineno : 25 macro : __stub_revoke DW_MACINFO_define - lineno : 26 macro : __stub_setlogin DW_MACINFO_define - lineno : 27 macro : __stub_sigreturn DW_MACINFO_define - lineno : 28 macro : __stub_sstk DW_MACINFO_define - lineno : 29 macro : __stub_stty DW_MACINFO_end_file DW_MACINFO_end_file DW_MACINFO_end_file DW_MACINFO_define - lineno : 32 macro : __need_size_t DW_MACINFO_define - lineno : 33 macro : __need_NULL DW_MACINFO_start_file - lineno: 35 filenum: 8 DW_MACINFO_define - lineno : 189 macro : __size_t__ DW_MACINFO_define - lineno : 190 macro : __SIZE_T__ DW_MACINFO_define - lineno : 191 macro : _SIZE_T DW_MACINFO_define - lineno : 192 macro : _SYS_SIZE_T_H DW_MACINFO_define - lineno : 193 macro : _T_SIZE_ DW_MACINFO_define - lineno : 194 macro : _T_SIZE DW_MACINFO_define - lineno : 195 macro : __SIZE_T DW_MACINFO_define - lineno : 196 macro : _SIZE_T_ DW_MACINFO_define - lineno : 197 macro : _BSD_SIZE_T_ DW_MACINFO_define - lineno : 198 macro : _SIZE_T_DEFINED_ DW_MACINFO_define - lineno : 199 macro : _SIZE_T_DEFINED DW_MACINFO_define - lineno : 200 macro : _BSD_SIZE_T_DEFINED_ DW_MACINFO_define - lineno : 201 macro : _SIZE_T_DECLARED DW_MACINFO_define - lineno : 202 macro : ___int_size_t_h DW_MACINFO_define - lineno : 203 macro : _GCC_SIZE_T DW_MACINFO_define - lineno : 204 macro : _SIZET_ DW_MACINFO_define - lineno : 208 macro : __size_t DW_MACINFO_undef - lineno : 236 macro : __need_size_t DW_MACINFO_undef - lineno : 398 macro : NULL DW_MACINFO_define - lineno : 403 macro : NULL ((void *)0) DW_MACINFO_undef - lineno : 409 macro : __need_NULL DW_MACINFO_end_file DW_MACINFO_start_file - lineno: 37 filenum: 9 DW_MACINFO_define - lineno : 25 macro : _BITS_TYPES_H 1 DW_MACINFO_start_file - lineno: 29 filenum: 6 DW_MACINFO_define - lineno : 4 macro : __WORDSIZE 64 DW_MACINFO_define - lineno : 5 macro : __WORDSIZE_COMPAT32 1 DW_MACINFO_end_file DW_MACINFO_define - lineno : 30 macro : __need_size_t DW_MACINFO_start_file - lineno: 32 filenum: 8 DW_MACINFO_undef - lineno : 236 macro : __need_size_t DW_MACINFO_undef - lineno : 409 macro : __need_NULL DW_MACINFO_end_file DW_MACINFO_define - lineno : 102 macro : __S16_TYPE short int DW_MACINFO_define - lineno : 103 macro : __U16_TYPE unsigned short int DW_MACINFO_define - lineno : 104 macro : __S32_TYPE int DW_MACINFO_define - lineno : 105 macro : __U32_TYPE unsigned int DW_MACINFO_define - lineno : 106 macro : __SLONGWORD_TYPE long int DW_MACINFO_define - lineno : 107 macro : __ULONGWORD_TYPE unsigned long int DW_MACINFO_define - lineno : 121 macro : __SQUAD_TYPE long int DW_MACINFO_define - lineno : 122 macro : __UQUAD_TYPE unsigned long int DW_MACINFO_define - lineno : 123 macro : __SWORD_TYPE long int DW_MACINFO_define - lineno : 124 macro : __UWORD_TYPE unsigned long int DW_MACINFO_define - lineno : 125 macro : __SLONG32_TYPE int DW_MACINFO_define - lineno : 126 macro : __ULONG32_TYPE unsigned int DW_MACINFO_define - lineno : 127 macro : __S64_TYPE long int DW_MACINFO_define - lineno : 128 macro : __U64_TYPE unsigned long int DW_MACINFO_define - lineno : 130 macro : __STD_TYPE typedef DW_MACINFO_start_file - lineno: 135 filenum: 10 DW_MACINFO_define - lineno : 25 macro : _BITS_TYPESIZES_H 1 DW_MACINFO_define - lineno : 30 macro : __DEV_T_TYPE __UQUAD_TYPE DW_MACINFO_define - lineno : 31 macro : __UID_T_TYPE __U32_TYPE DW_MACINFO_define - lineno : 32 macro : __GID_T_TYPE __U32_TYPE DW_MACINFO_define - lineno : 33 macro : __INO_T_TYPE __ULONGWORD_TYPE DW_MACINFO_define - lineno : 34 macro : __INO64_T_TYPE __UQUAD_TYPE DW_MACINFO_define - lineno : 35 macro : __MODE_T_TYPE __U32_TYPE DW_MACINFO_define - lineno : 36 macro : __NLINK_T_TYPE __UWORD_TYPE DW_MACINFO_define - lineno : 37 macro : __OFF_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 38 macro : __OFF64_T_TYPE __SQUAD_TYPE DW_MACINFO_define - lineno : 39 macro : __PID_T_TYPE __S32_TYPE DW_MACINFO_define - lineno : 40 macro : __RLIM_T_TYPE __ULONGWORD_TYPE DW_MACINFO_define - lineno : 41 macro : __RLIM64_T_TYPE __UQUAD_TYPE DW_MACINFO_define - lineno : 42 macro : __BLKCNT_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 43 macro : __BLKCNT64_T_TYPE __SQUAD_TYPE DW_MACINFO_define - lineno : 44 macro : __FSBLKCNT_T_TYPE __ULONGWORD_TYPE DW_MACINFO_define - lineno : 45 macro : __FSBLKCNT64_T_TYPE __UQUAD_TYPE DW_MACINFO_define - lineno : 46 macro : __FSFILCNT_T_TYPE __ULONGWORD_TYPE DW_MACINFO_define - lineno : 47 macro : __FSFILCNT64_T_TYPE __UQUAD_TYPE DW_MACINFO_define - lineno : 48 macro : __ID_T_TYPE __U32_TYPE DW_MACINFO_define - lineno : 49 macro : __CLOCK_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 50 macro : __TIME_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 51 macro : __USECONDS_T_TYPE __U32_TYPE DW_MACINFO_define - lineno : 52 macro : __SUSECONDS_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 53 macro : __DADDR_T_TYPE __S32_TYPE DW_MACINFO_define - lineno : 54 macro : __SWBLK_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 55 macro : __KEY_T_TYPE __S32_TYPE DW_MACINFO_define - lineno : 56 macro : __CLOCKID_T_TYPE __S32_TYPE DW_MACINFO_define - lineno : 57 macro : __TIMER_T_TYPE void * DW_MACINFO_define - lineno : 58 macro : __BLKSIZE_T_TYPE __SLONGWORD_TYPE DW_MACINFO_define - lineno : 59 macro : __FSID_T_TYPE struct { int __val[2]; } DW_MACINFO_define - lineno : 60 macro : __SSIZE_T_TYPE __SWORD_TYPE DW_MACINFO_define - lineno : 63 macro : __FD_SETSIZE 1024 DW_MACINFO_end_file DW_MACINFO_undef - lineno : 198 macro : __STD_TYPE DW_MACINFO_end_file DW_MACINFO_define - lineno : 37 macro : __need_FILE DW_MACINFO_define - lineno : 38 macro : __need___FILE DW_MACINFO_define - lineno : 54 macro : __FILE_defined 1 DW_MACINFO_undef - lineno : 56 macro : __need_FILE DW_MACINFO_define - lineno : 64 macro : ____FILE_defined 1 DW_MACINFO_undef - lineno : 66 macro : __need___FILE DW_MACINFO_define - lineno : 70 macro : _STDIO_USES_IOSTREAM DW_MACINFO_start_file - lineno: 73 filenum: 11 DW_MACINFO_define - lineno : 30 macro : _IO_STDIO_H DW_MACINFO_start_file - lineno: 33 filenum: 12 DW_MACINFO_define - lineno : 5 macro : _G_config_h 1 DW_MACINFO_define - lineno : 10 macro : __need_size_t DW_MACINFO_define - lineno : 11 macro : __need_wchar_t DW_MACINFO_define - lineno : 12 macro : __need_wint_t DW_MACINFO_define - lineno : 13 macro : __need_NULL DW_MACINFO_start_file - lineno: 15 filenum: 8 DW_MACINFO_undef - lineno : 236 macro : __need_size_t DW_MACINFO_define - lineno : 265 macro : __wchar_t__ DW_MACINFO_define - lineno : 266 macro : __WCHAR_T__ DW_MACINFO_define - lineno : 267 macro : _WCHAR_T DW_MACINFO_define - lineno : 268 macro : _T_WCHAR_ DW_MACINFO_define - lineno : 269 macro : _T_WCHAR DW_MACINFO_define - lineno : 270 macro : __WCHAR_T DW_MACINFO_define - lineno : 271 macro : _WCHAR_T_ DW_MACINFO_define - lineno : 272 macro : _BSD_WCHAR_T_ DW_MACINFO_define - lineno : 273 macro : _WCHAR_T_DEFINED_ DW_MACINFO_define - lineno : 274 macro : _WCHAR_T_DEFINED DW_MACINFO_define - lineno : 275 macro : _WCHAR_T_H DW_MACINFO_define - lineno : 276 macro : ___int_wchar_t_h DW_MACINFO_define - lineno : 277 macro : __INT_WCHAR_T_H DW_MACINFO_define - lineno : 278 macro : _GCC_WCHAR_T DW_MACINFO_define - lineno : 279 macro : _WCHAR_T_DECLARED DW_MACINFO_undef - lineno : 292 macro : _BSD_WCHAR_T_ DW_MACINFO_undef - lineno : 345 macro : __need_wchar_t DW_MACINFO_define - lineno : 350 macro : _WINT_T DW_MACINFO_undef - lineno : 357 macro : __need_wint_t DW_MACINFO_undef - lineno : 398 macro : NULL DW_MACINFO_define - lineno : 403 macro : NULL ((void *)0) DW_MACINFO_undef - lineno : 409 macro : __need_NULL DW_MACINFO_end_file DW_MACINFO_define - lineno : 23 macro : __need_mbstate_t DW_MACINFO_start_file - lineno: 25 filenum: 13 DW_MACINFO_define - lineno : 47 macro : __need_wint_t DW_MACINFO_start_file - lineno: 49 filenum: 8 DW_MACINFO_undef - lineno : 357 macro : __need_wint_t DW_MACINFO_undef - lineno : 409 macro : __need_NULL DW_MACINFO_end_file DW_MACINFO_start_file - lineno: 51 filenum: 14 DW_MACINFO_define - lineno : 21 macro : _BITS_WCHAR_H 1 DW_MACINFO_define - lineno : 23 macro : __WCHAR_MIN (-2147483647 - 1) DW_MACINFO_define - lineno : 24 macro : __WCHAR_MAX (2147483647) DW_MACINFO_end_file DW_MACINFO_define - lineno : 74 macro : __mbstate_t_defined 1 DW_MACINFO_undef - lineno : 86 macro : __need_mbstate_t DW_MACINFO_end_file DW_MACINFO_define - lineno : 25 macro : _G_size_t size_t DW_MACINFO_define - lineno : 36 macro : _G_ssize_t __ssize_t DW_MACINFO_define - lineno : 37 macro : _G_off_t __off_t DW_MACINFO_define - lineno : 38 macro : _G_off64_t __off64_t DW_MACINFO_define - lineno : 39 macro : _G_pid_t __pid_t DW_MACINFO_define - lineno : 40 macro : _G_uid_t __uid_t DW_MACINFO_define - lineno : 41 macro : _G_wchar_t wchar_t DW_MACINFO_define - lineno : 42 macro : _G_wint_t wint_t DW_MACINFO_define - lineno : 43 macro : _G_stat64 stat64 DW_MACINFO_start_file - lineno: 45 filenum: 15 DW_MACINFO_define - lineno : 24 macro : _GCONV_H 1 DW_MACINFO_define - lineno : 27 macro : __need_mbstate_t DW_MACINFO_start_file - lineno: 29 filenum: 13 DW_MACINFO_define - lineno : 47 macro : __need_wint_t DW_MACINFO_start_file - lineno: 49 filenum: 8 DW_MACINFO_undef - lineno : 357 macro : __need_wint_t DW_MACINFO_undef - lineno : 409 macro : __need_NULL DW_MACINFO_end_file DW_MACINFO_undef - lineno : 86 macro : __need_mbstate_t DW_MACINFO_end_file DW_MACINFO_define - lineno : 29 macro : __need_size_t DW_MACINFO_define - lineno : 30 macro : __need_wchar_t DW_MACINFO_start_file - lineno: 32 filenum: 8 DW_MACINFO_undef - lineno : 236 macro : __need_size_t DW_MACINFO_undef - lineno : 345 macro : __need_wchar_t DW_MACINFO_undef - lineno : 409 macro : __need_NULL DW_MACINFO_end_file DW_MACINFO_define - lineno : 34 macro : __UNKNOWN_10646_CHAR ((wchar_t) 0xfffd) DW_MACINFO_end_file DW_MACINFO_define - lineno : 60 macro : _G_HAVE_BOOL 1 DW_MACINFO_define - lineno : 64 macro : _G_HAVE_ATEXIT 1 DW_MACINFO_define - lineno : 65 macro : _G_HAVE_SYS_CDEFS 1 DW_MACINFO_define - lineno : 66 macro : _G_HAVE_SYS_WAIT 1 DW_MACINFO_define - lineno : 67 macro : _G_NEED_STDARG_H 1 DW_MACINFO_define - lineno : 68 macro : _G_va_list __gnuc_va_list DW_MACINFO_define - lineno : 70 macro : _G_HAVE_PRINTF_FP 1 DW_MACINFO_define - lineno : 71 macro : _G_HAVE_MMAP 1 DW_MACINFO_define - lineno : 72 macro : _G_HAVE_MREMAP 1 DW_MACINFO_define - lineno : 73 macro : _G_HAVE_LONG_DOUBLE_IO 1 DW_MACINFO_define - lineno : 74 macro : _G_HAVE_IO_FILE_OPEN 1 DW_MACINFO_define - lineno : 75 macro : _G_HAVE_IO_GETLINE_INFO 1 DW_MACINFO_define - lineno : 77 macro : _G_IO_IO_FILE_VERSION 0x20001 DW_MACINFO_define - lineno : 79 macro : _G_OPEN64 __open64 DW_MACINFO_define - lineno : 80 macro : _G_LSEEK64 __lseek64 DW_MACINFO_define - lineno : 81 macro : _G_MMAP64 __mmap64 DW_MACINFO_define - lineno : 82 macro : _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf) DW_MACINFO_define - lineno : 85 macro : _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE) DW_MACINFO_define - lineno : 87 macro : _G_BUFSIZ 8192 DW_MACINFO_define - lineno : 90 macro : _G_NAMES_HAVE_UNDERSCORE 0 DW_MACINFO_define - lineno : 91 macro : _G_VTABLE_LABEL_HAS_LENGTH 1 DW_MACINFO_define - lineno : 92 macro : _G_USING_THUNKS 1 DW_MACINFO_define - lineno : 93 macro : _G_VTABLE_LABEL_PREFIX "__vt_" DW_MACINFO_define - lineno : 94 macro : _G_VTABLE_LABEL_PREFIX_ID __vt_ DW_MACINFO_define - lineno : 98 macro : _G_ARGS(ARGLIST) ARGLIST DW_MACINFO_end_file DW_MACINFO_define - lineno : 34 macro : _IO_pos_t _G_fpos_t DW_MACINFO_define - lineno : 35 macro : _IO_fpos_t _G_fpos_t DW_MACINFO_define - lineno : 36 macro : _IO_fpos64_t _G_fpos64_t DW_MACINFO_define - lineno : 37 macro : _IO_size_t _G_size_t DW_MACINFO_define - lineno : 38 macro : _IO_ssize_t _G_ssize_t DW_MACINFO_define - lineno : 39 macro : _IO_off_t _G_off_t DW_MACINFO_define - lineno : 40 macro : _IO_off64_t _G_off64_t DW_MACINFO_define - lineno : 41 macro : _IO_pid_t _G_pid_t DW_MACINFO_define - lineno : 42 macro : _IO_uid_t _G_uid_t DW_MACINFO_define - lineno : 43 macro : _IO_iconv_t _G_iconv_t DW_MACINFO_define - lineno : 44 macro : _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT DW_MACINFO_define - lineno : 45 macro : _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE DW_MACINFO_define - lineno : 46 macro : _IO_BUFSIZ _G_BUFSIZ DW_MACINFO_define - lineno : 47 macro : _IO_va_list _G_va_list DW_MACINFO_define - lineno : 48 macro : _IO_wint_t _G_wint_t DW_MACINFO_define - lineno : 52 macro : __need___va_list DW_MACINFO_start_file - lineno: 54 filenum: 16 DW_MACINFO_undef - lineno : 37 macro : __need___va_list DW_MACINFO_define - lineno : 42 macro : __GNUC_VA_LIST DW_MACINFO_end_file DW_MACINFO_undef - lineno : 55 macro : _IO_va_list DW_MACINFO_define - lineno : 56 macro : _IO_va_list __gnuc_va_list DW_MACINFO_define - lineno : 76 macro : _PARAMS(protos) __P(protos) DW_MACINFO_define - lineno : 84 macro : _IO_UNIFIED_JUMPTABLES 1 DW_MACINFO_define - lineno : 90 macro : EOF (-1) DW_MACINFO_define - lineno : 105 macro : _IOS_INPUT 1 DW_MACINFO_define - lineno : 106 macro : _IOS_OUTPUT 2 DW_MACINFO_define - lineno : 107 macro : _IOS_ATEND 4 DW_MACINFO_define - lineno : 108 macro : _IOS_APPEND 8 DW_MACINFO_define - lineno : 109 macro : _IOS_TRUNC 16 DW_MACINFO_define - lineno : 110 macro : _IOS_NOCREATE 32 DW_MACINFO_define - lineno : 111 macro : _IOS_NOREPLACE 64 DW_MACINFO_define - lineno : 112 macro : _IOS_BIN 128 DW_MACINFO_define - lineno : 120 macro : _IO_MAGIC 0xFBAD0000 DW_MACINFO_define - lineno : 121 macro : _OLD_STDIO_MAGIC 0xFABC0000 DW_MACINFO_define - lineno : 122 macro : _IO_MAGIC_MASK 0xFFFF0000 DW_MACINFO_define - lineno : 123 macro : _IO_USER_BUF 1 DW_MACINFO_define - lineno : 124 macro : _IO_UNBUFFERED 2 DW_MACINFO_define - lineno : 125 macro : _IO_NO_READS 4 DW_MACINFO_define - lineno : 126 macro : _IO_NO_WRITES 8 DW_MACINFO_define - lineno : 127 macro : _IO_EOF_SEEN 0x10 DW_MACINFO_define - lineno : 128 macro : _IO_ERR_SEEN 0x20 DW_MACINFO_define - lineno : 129 macro : _IO_DELETE_DONT_CLOSE 0x40 DW_MACINFO_define - lineno : 130 macro : _IO_LINKED 0x80 DW_MACINFO_define - lineno : 131 macro : _IO_IN_BACKUP 0x100 DW_MACINFO_define - lineno : 132 macro : _IO_LINE_BUF 0x200 DW_MACINFO_define - lineno : 133 macro : _IO_TIED_PUT_GET 0x400 DW_MACINFO_define - lineno : 134 macro : _IO_CURRENTLY_PUTTING 0x800 DW_MACINFO_define - lineno : 135 macro : _IO_IS_APPENDING 0x1000 DW_MACINFO_define - lineno : 136 macro : _IO_IS_FILEBUF 0x2000 DW_MACINFO_define - lineno : 137 macro : _IO_BAD_SEEN 0x4000 DW_MACINFO_define - lineno : 138 macro : _IO_USER_LOCK 0x8000 DW_MACINFO_define - lineno : 140 macro : _IO_FLAGS2_MMAP 1 DW_MACINFO_define - lineno : 141 macro : _IO_FLAGS2_NOTCANCEL 2 DW_MACINFO_define - lineno : 147 macro : _IO_SKIPWS 01 DW_MACINFO_define - lineno : 148 macro : _IO_LEFT 02 DW_MACINFO_define - lineno : 149 macro : _IO_RIGHT 04 DW_MACINFO_define - lineno : 150 macro : _IO_INTERNAL 010 DW_MACINFO_define - lineno : 151 macro : _IO_DEC 020 DW_MACINFO_define - lineno : 152 macro : _IO_OCT 040 DW_MACINFO_define - lineno : 153 macro : _IO_HEX 0100 DW_MACINFO_define - lineno : 154 macro : _IO_SHOWBASE 0200 DW_MACINFO_define - lineno : 155 macro : _IO_SHOWPOINT 0400 DW_MACINFO_define - lineno : 156 macro : _IO_UPPERCASE 01000 DW_MACINFO_define - lineno : 157 macro : _IO_SHOWPOS 02000 DW_MACINFO_define - lineno : 158 macro : _IO_SCIENTIFIC 04000 DW_MACINFO_define - lineno : 159 macro : _IO_FIXED 010000 DW_MACINFO_define - lineno : 160 macro : _IO_UNITBUF 020000 DW_MACINFO_define - lineno : 161 macro : _IO_STDIO 040000 DW_MACINFO_define - lineno : 162 macro : _IO_DONT_CLOSE 0100000 DW_MACINFO_define - lineno : 163 macro : _IO_BOOLALPHA 0200000 DW_MACINFO_define - lineno : 269 macro : _IO_file_flags _flags DW_MACINFO_define - lineno : 298 macro : __HAVE_COLUMN DW_MACINFO_define - lineno : 340 macro : _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_)) DW_MACINFO_define - lineno : 341 macro : _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_)) DW_MACINFO_define - lineno : 342 macro : _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_)) DW_MACINFO_define - lineno : 414 macro : _IO_BE(expr,res) __builtin_expect ((expr), res) DW_MACINFO_define - lineno : 419 macro : _IO_getc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) DW_MACINFO_define - lineno : 422 macro : _IO_peekc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr) DW_MACINFO_define - lineno : 426 macro : _IO_putc_unlocked(_ch,_fp) (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) DW_MACINFO_define - lineno : 431 macro : _IO_getwc_unlocked(_fp) (_IO_BE ((_fp)->_wide_data->_IO_read_ptr >= (_fp)->_wide_data->_IO_read_end, 0) ? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++) DW_MACINFO_define - lineno : 435 macro : _IO_putwc_unlocked(_wch,_fp) (_IO_BE ((_fp)->_wide_data->_IO_write_ptr >= (_fp)->_wide_data->_IO_write_end, 0) ? __woverflow (_fp, _wch) : (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch))) DW_MACINFO_define - lineno : 441 macro : _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0) DW_MACINFO_define - lineno : 442 macro : _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0) DW_MACINFO_define - lineno : 452 macro : _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base) DW_MACINFO_define - lineno : 466 macro : _IO_peekc(_fp) _IO_peekc_unlocked (_fp) DW_MACINFO_define - lineno : 467 macro : _IO_flockfile(_fp) DW_MACINFO_define - lineno : 468 macro : _IO_funlockfile(_fp) DW_MACINFO_define - lineno : 469 macro : _IO_ftrylockfile(_fp) DW_MACINFO_define - lineno : 470 macro : _IO_cleanup_region_start(_fct,_fp) DW_MACINFO_define - lineno : 471 macro : _IO_cleanup_region_end(_Doit) DW_MACINFO_end_file DW_MACINFO_define - lineno : 98 macro : _IOFBF 0 DW_MACINFO_define - lineno : 99 macro : _IOLBF 1 DW_MACINFO_define - lineno : 100 macro : _IONBF 2 DW_MACINFO_define - lineno : 105 macro : BUFSIZ _IO_BUFSIZ DW_MACINFO_define - lineno : 118 macro : SEEK_SET 0 DW_MACINFO_define - lineno : 119 macro : SEEK_CUR 1 DW_MACINFO_define - lineno : 120 macro : SEEK_END 2 DW_MACINFO_define - lineno : 125 macro : P_tmpdir "/tmp" DW_MACINFO_start_file - lineno: 139 filenum: 18 DW_MACINFO_define - lineno : 24 macro : L_tmpnam 20 DW_MACINFO_define - lineno : 25 macro : TMP_MAX 238328 DW_MACINFO_define - lineno : 26 macro : FILENAME_MAX 4096 DW_MACINFO_define - lineno : 29 macro : L_ctermid 9 DW_MACINFO_define - lineno : 30 macro : L_cuserid 9 DW_MACINFO_undef - lineno : 35 macro : FOPEN_MAX DW_MACINFO_define - lineno : 36 macro : FOPEN_MAX 16 DW_MACINFO_end_file DW_MACINFO_define - lineno : 147 macro : stdin stdin DW_MACINFO_define - lineno : 148 macro : stdout stdout DW_MACINFO_define - lineno : 149 macro : stderr stderr DW_MACINFO_define - lineno : 449 macro : getc(_fp) _IO_getc (_fp) DW_MACINFO_define - lineno : 491 macro : putc(_ch,_fp) _IO_putc (_ch, _fp) DW_MACINFO_start_file - lineno: 751 filenum: 19 DW_MACINFO_end_file DW_MACINFO_end_file DW_MACINFO_start_file - lineno: 3 filenum: 16 DW_MACINFO_define - lineno : 34 macro : _STDARG_H DW_MACINFO_define - lineno : 35 macro : _ANSI_STDARG_H_ DW_MACINFO_undef - lineno : 37 macro : __need___va_list DW_MACINFO_define - lineno : 50 macro : va_start(v,l) __builtin_va_start(v,l) DW_MACINFO_define - lineno : 51 macro : va_end(v) __builtin_va_end(v) DW_MACINFO_define - lineno : 52 macro : va_arg(v,l) __builtin_va_arg(v,l) DW_MACINFO_define - lineno : 54 macro : va_copy(d,s) __builtin_va_copy(d,s) DW_MACINFO_define - lineno : 56 macro : __va_copy(d,s) __builtin_va_copy(d,s) DW_MACINFO_define - lineno : 111 macro : _VA_LIST_ DW_MACINFO_define - lineno : 114 macro : _VA_LIST DW_MACINFO_define - lineno : 117 macro : _VA_LIST_DEFINED DW_MACINFO_define - lineno : 120 macro : _VA_LIST_T_H DW_MACINFO_define - lineno : 123 macro : __va_list__ DW_MACINFO_end_file DW_MACINFO_end_file Since bugzilla won't let me include bad-macro-file.i, here is bad-macro-file.c; I'll see if there's some way I can attach the .i file, or include it as a separate comment or something. #include <stdio.h> #include <stdarg.h> int main () {}
Created attachment 9814 [details] Preprocessed input file for the bug report. This is the result of preprocessing bad-macro-file.c on my machine.
Hmm, I think this should have been fixed by PR 20253. I don't have any FSF 4.0.x compiler after that. Double hmm, it works with 32 bits but not 64bits on the mainline.
The difference between 32 and 64bit: --- 64 2005-09-27 03:10:18.552798040 +0200 +++ 32 2005-09-27 03:10:26.250627792 +0200 @@ -1,7 +1,7 @@ Dump of debug contents of section .debug_line: - Length: 388 + Length: 385 DWARF Version: 2 Prologue Length: 364 Minimum Instruction Length: 1 @@ -9,7 +9,7 @@ Dump of debug contents of section .debug Line Base: -5 Line Range: 14 Opcode Base: 10 - (Pointer size: 8) + (Pointer size: 4) Opcodes: Opcode 1 has 0 args @@ -53,8 +53,9 @@ Dump of debug contents of section .debug Line Number Statements: Extended opcode 2: set Address to 0x0 Special opcode 8: advance Address by 0 to 0x0 and Line by 3 to 4 - Special opcode 61: advance Address by 4 to 0x4 and Line by 0 to 4 - Advance PC by 2 to 6 + Advance PC by constant 17 to 0x11 + Special opcode 159: advance Address by 11 to 0x1c and Line by 0 to 4 + Advance PC by 2 to 1e Extended opcode 1: End of Sequence @@ -565,7 +566,7 @@ Contents of the .debug_macinfo section: DW_MACINFO_define - lineno : 119 macro : SEEK_CUR 1 DW_MACINFO_define - lineno : 120 macro : SEEK_END 2 DW_MACINFO_define - lineno : 125 macro : P_tmpdir "/tmp" - DW_MACINFO_start_file - lineno: 139 filenum: 18 + DW_MACINFO_start_file - lineno: 139 filenum: 17 DW_MACINFO_define - lineno : 24 macro : L_tmpnam 20 DW_MACINFO_define - lineno : 25 macro : TMP_MAX 238328 DW_MACINFO_define - lineno : 26 macro : FILENAME_MAX 4096 @@ -579,7 +580,7 @@ Contents of the .debug_macinfo section: DW_MACINFO_define - lineno : 149 macro : stderr stderr DW_MACINFO_define - lineno : 449 macro : getc(_fp) _IO_getc (_fp) DW_MACINFO_define - lineno : 491 macro : putc(_ch,_fp) _IO_putc (_ch, _fp) - DW_MACINFO_start_file - lineno: 751 filenum: 19 + DW_MACINFO_start_file - lineno: 751 filenum: 18 DW_MACINFO_end_file DW_MACINFO_end_file DW_MACINFO_start_file - lineno: 3 filenum: 16
Likewise for .s files: @@ -1502,7 +1502,7 @@ .byte 0x3 # Start new file .uleb128 0x8b # Included from line number 139 .file 17 "/usr/include/bits/stdio_lim.h" - .uleb128 0x12 # Filename we just started + .uleb128 0x11 # Filename we just started .byte 0x1 # Define macro .uleb128 0x18 # At line number 24 .ascii "L_tmpnam 20\0" # The macro @@ -1543,7 +1543,7 @@ .byte 0x3 # Start new file .uleb128 0x2ef # Included from line number 751 .file 18 "/usr/include/bits/sys_errlist.h" - .uleb128 0x13 # Filename we just started + .uleb128 0x12 # Filename we just started .byte 0x4 # End file .byte 0x4 # End file .byte 0x3 # Start new file ---- So this is definitely a bug in gcc and not in readelf.
I need to try FSF 4.0.2 because redhat's compiler is known not to be clean. But currently I can confirm this fails on the mainline and works with 4.0.0 20050301 and 3.3.6.
Confirmed, I have not tried 3.4 either to see if this is a bug there too.
Works on the 3.4 branch.
Subject: Bug 24070 CVSROOT: /cvs/gcc Module name: gcc Changes by: rth@gcc.gnu.org 2005-10-06 19:33:02 Modified files: gcc : ChangeLog dwarf2out.c Log message: PR debug/24070 * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file. (dwarf2out_start_source_file): Print it. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10105&r2=2.10106 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/dwarf2out.c.diff?cvsroot=gcc&r1=1.614&r2=1.615
Subject: Bug 24070 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: rth@gcc.gnu.org 2005-10-06 19:40:15 Modified files: gcc : ChangeLog dwarf2out.c Log message: PR debug/24070 * dwarf2out.c (dwarf2out_start_source_file): Print the result of maybe_emit_file. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.450&r2=2.7592.2.451 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/dwarf2out.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.570.2.11&r2=1.570.2.12
Fixed.
*** Bug 24400 has been marked as a duplicate of this bug. ***