2 # Copyright (C) 2009, 2014 Red Hat, Inc.
3 # This file is part of elfutils.
5 # This file is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # elfutils is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 . $srcdir/test-subr.sh
22 testrun_compare ${abs_builddir}/dwarf-getmacros testfile51 0xb <<\EOF
23 file /home/petr/proj/elfutils/pending/elfutils/tests/decom/x.c
30 __SIZE_TYPE__ long unsigned int
31 __PTRDIFF_TYPE__ long int
33 __WINT_TYPE__ unsigned int
34 __INTMAX_TYPE__ long int
35 __UINTMAX_TYPE__ long unsigned int
36 __GXX_ABI_VERSION 1002
39 __INT_MAX__ 2147483647
40 __LONG_MAX__ 9223372036854775807L
41 __LONG_LONG_MAX__ 9223372036854775807LL
42 __WCHAR_MAX__ 2147483647
44 __INTMAX_MAX__ 9223372036854775807L
50 __FLT_MIN_EXP__ (-125)
51 __FLT_MIN_10_EXP__ (-37)
54 __FLT_MAX__ 3.40282347e+38F
55 __FLT_MIN__ 1.17549435e-38F
56 __FLT_EPSILON__ 1.19209290e-7F
57 __FLT_DENORM_MIN__ 1.40129846e-45F
59 __FLT_HAS_INFINITY__ 1
60 __FLT_HAS_QUIET_NAN__ 1
63 __DBL_MIN_EXP__ (-1021)
64 __DBL_MIN_10_EXP__ (-307)
66 __DBL_MAX_10_EXP__ 308
67 __DBL_MAX__ 1.7976931348623157e+308
68 __DBL_MIN__ 2.2250738585072014e-308
69 __DBL_EPSILON__ 2.2204460492503131e-16
70 __DBL_DENORM_MIN__ 4.9406564584124654e-324
72 __DBL_HAS_INFINITY__ 1
73 __DBL_HAS_QUIET_NAN__ 1
76 __LDBL_MIN_EXP__ (-16381)
77 __LDBL_MIN_10_EXP__ (-4931)
78 __LDBL_MAX_EXP__ 16384
79 __LDBL_MAX_10_EXP__ 4932
81 __LDBL_MAX__ 1.18973149535723176502e+4932L
82 __LDBL_MIN__ 3.36210314311209350626e-4932L
83 __LDBL_EPSILON__ 1.08420217248550443401e-19L
84 __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
86 __LDBL_HAS_INFINITY__ 1
87 __LDBL_HAS_QUIET_NAN__ 1
89 __DEC32_MIN_EXP__ (-95)
92 __DEC32_MAX__ 9.999999E96DF
93 __DEC32_EPSILON__ 1E-6DF
94 __DEC32_DEN__ 0.000001E-95DF
96 __DEC64_MIN_EXP__ (-383)
98 __DEC64_MIN__ 1E-383DD
99 __DEC64_MAX__ 9.999999999999999E384DD
100 __DEC64_EPSILON__ 1E-15DD
101 __DEC64_DEN__ 0.000000000000001E-383DD
102 __DEC128_MANT_DIG__ 34
103 __DEC128_MIN_EXP__ (-6143)
104 __DEC128_MAX_EXP__ 6144
105 __DEC128_MIN__ 1E-6143DL
106 __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
107 __DEC128_EPSILON__ 1E-33DL
108 __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL
110 __USER_LABEL_PREFIX__
111 __VERSION__ "4.3.2 20081105 (Red Hat 4.3.2-7)"
112 __GNUC_GNU_INLINE__ 1
116 __FINITE_MATH_ONLY__ 0
117 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
118 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
119 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
120 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
123 __SIZEOF_LONG_LONG__ 8
127 __SIZEOF_LONG_DOUBLE__ 16
131 __SIZEOF_PTRDIFF_T__ 8
152 __DECIMAL_BID_FORMAT__ 1
157 testrun_compare ${abs_builddir}/dwarf-getmacros testfile51 0x84 <<\EOF
158 file /home/petr/proj/elfutils/pending/elfutils/tests/decom/y.c
163 __GNUC_PATCHLEVEL__ 2
164 __GNUC_RH_RELEASE__ 7
165 __SIZE_TYPE__ long unsigned int
166 __PTRDIFF_TYPE__ long int
168 __WINT_TYPE__ unsigned int
169 __INTMAX_TYPE__ long int
170 __UINTMAX_TYPE__ long unsigned int
171 __GXX_ABI_VERSION 1002
174 __INT_MAX__ 2147483647
175 __LONG_MAX__ 9223372036854775807L
176 __LONG_LONG_MAX__ 9223372036854775807LL
177 __WCHAR_MAX__ 2147483647
179 __INTMAX_MAX__ 9223372036854775807L
180 __FLT_EVAL_METHOD__ 0
181 __DEC_EVAL_METHOD__ 2
185 __FLT_MIN_EXP__ (-125)
186 __FLT_MIN_10_EXP__ (-37)
188 __FLT_MAX_10_EXP__ 38
189 __FLT_MAX__ 3.40282347e+38F
190 __FLT_MIN__ 1.17549435e-38F
191 __FLT_EPSILON__ 1.19209290e-7F
192 __FLT_DENORM_MIN__ 1.40129846e-45F
194 __FLT_HAS_INFINITY__ 1
195 __FLT_HAS_QUIET_NAN__ 1
198 __DBL_MIN_EXP__ (-1021)
199 __DBL_MIN_10_EXP__ (-307)
201 __DBL_MAX_10_EXP__ 308
202 __DBL_MAX__ 1.7976931348623157e+308
203 __DBL_MIN__ 2.2250738585072014e-308
204 __DBL_EPSILON__ 2.2204460492503131e-16
205 __DBL_DENORM_MIN__ 4.9406564584124654e-324
207 __DBL_HAS_INFINITY__ 1
208 __DBL_HAS_QUIET_NAN__ 1
211 __LDBL_MIN_EXP__ (-16381)
212 __LDBL_MIN_10_EXP__ (-4931)
213 __LDBL_MAX_EXP__ 16384
214 __LDBL_MAX_10_EXP__ 4932
216 __LDBL_MAX__ 1.18973149535723176502e+4932L
217 __LDBL_MIN__ 3.36210314311209350626e-4932L
218 __LDBL_EPSILON__ 1.08420217248550443401e-19L
219 __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
220 __LDBL_HAS_DENORM__ 1
221 __LDBL_HAS_INFINITY__ 1
222 __LDBL_HAS_QUIET_NAN__ 1
224 __DEC32_MIN_EXP__ (-95)
226 __DEC32_MIN__ 1E-95DF
227 __DEC32_MAX__ 9.999999E96DF
228 __DEC32_EPSILON__ 1E-6DF
229 __DEC32_DEN__ 0.000001E-95DF
230 __DEC64_MANT_DIG__ 16
231 __DEC64_MIN_EXP__ (-383)
232 __DEC64_MAX_EXP__ 384
233 __DEC64_MIN__ 1E-383DD
234 __DEC64_MAX__ 9.999999999999999E384DD
235 __DEC64_EPSILON__ 1E-15DD
236 __DEC64_DEN__ 0.000000000000001E-383DD
237 __DEC128_MANT_DIG__ 34
238 __DEC128_MIN_EXP__ (-6143)
239 __DEC128_MAX_EXP__ 6144
240 __DEC128_MIN__ 1E-6143DL
241 __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
242 __DEC128_EPSILON__ 1E-33DL
243 __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL
245 __USER_LABEL_PREFIX__
246 __VERSION__ "4.3.2 20081105 (Red Hat 4.3.2-7)"
247 __GNUC_GNU_INLINE__ 1
251 __FINITE_MATH_ONLY__ 0
252 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
253 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
254 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
255 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
258 __SIZEOF_LONG_LONG__ 8
262 __SIZEOF_LONG_DOUBLE__ 16
266 __SIZEOF_PTRDIFF_T__ 8
287 __DECIMAL_BID_FORMAT__ 1
292 testfiles testfile-macros
294 testrun_compare ${abs_builddir}/dwarf-getmacros testfile-macros 0xb <<\EOF
299 __GNUC_PATCHLEVEL__ 0
300 __VERSION__ "4.7.0 20120507 (Red Hat 4.7.0-5)"
301 __GNUC_RH_RELEASE__ 5
308 __FINITE_MATH_ONLY__ 0
313 __SIZEOF_LONG_LONG__ 8
317 __SIZEOF_LONG_DOUBLE__ 16
320 __BIGGEST_ALIGNMENT__ 16
321 __ORDER_LITTLE_ENDIAN__ 1234
322 __ORDER_BIG_ENDIAN__ 4321
323 __ORDER_PDP_ENDIAN__ 3412
324 __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
325 __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
327 __SIZE_TYPE__ long unsigned int
328 __PTRDIFF_TYPE__ long int
330 __WINT_TYPE__ unsigned int
331 __INTMAX_TYPE__ long int
332 __UINTMAX_TYPE__ long unsigned int
333 __CHAR16_TYPE__ short unsigned int
334 __CHAR32_TYPE__ unsigned int
335 __SIG_ATOMIC_TYPE__ int
336 __INT8_TYPE__ signed char
337 __INT16_TYPE__ short int
339 __INT64_TYPE__ long int
340 __UINT8_TYPE__ unsigned char
341 __UINT16_TYPE__ short unsigned int
342 __UINT32_TYPE__ unsigned int
343 __UINT64_TYPE__ long unsigned int
344 __INT_LEAST8_TYPE__ signed char
345 __INT_LEAST16_TYPE__ short int
346 __INT_LEAST32_TYPE__ int
347 __INT_LEAST64_TYPE__ long int
348 __UINT_LEAST8_TYPE__ unsigned char
349 __UINT_LEAST16_TYPE__ short unsigned int
350 __UINT_LEAST32_TYPE__ unsigned int
351 __UINT_LEAST64_TYPE__ long unsigned int
352 __INT_FAST8_TYPE__ signed char
353 __INT_FAST16_TYPE__ long int
354 __INT_FAST32_TYPE__ long int
355 __INT_FAST64_TYPE__ long int
356 __UINT_FAST8_TYPE__ unsigned char
357 __UINT_FAST16_TYPE__ long unsigned int
358 __UINT_FAST32_TYPE__ long unsigned int
359 __UINT_FAST64_TYPE__ long unsigned int
360 __INTPTR_TYPE__ long int
361 __UINTPTR_TYPE__ long unsigned int
362 __GXX_ABI_VERSION 1002
365 __INT_MAX__ 2147483647
366 __LONG_MAX__ 9223372036854775807L
367 __LONG_LONG_MAX__ 9223372036854775807LL
368 __WCHAR_MAX__ 2147483647
369 __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
370 __WINT_MAX__ 4294967295U
372 __PTRDIFF_MAX__ 9223372036854775807L
373 __SIZE_MAX__ 18446744073709551615UL
374 __INTMAX_MAX__ 9223372036854775807L
376 __UINTMAX_MAX__ 18446744073709551615UL
377 __UINTMAX_C(c) c ## UL
378 __SIG_ATOMIC_MAX__ 2147483647
379 __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
382 __INT32_MAX__ 2147483647
383 __INT64_MAX__ 9223372036854775807L
386 __UINT32_MAX__ 4294967295U
387 __UINT64_MAX__ 18446744073709551615UL
388 __INT_LEAST8_MAX__ 127
390 __INT_LEAST16_MAX__ 32767
392 __INT_LEAST32_MAX__ 2147483647
394 __INT_LEAST64_MAX__ 9223372036854775807L
396 __UINT_LEAST8_MAX__ 255
398 __UINT_LEAST16_MAX__ 65535
400 __UINT_LEAST32_MAX__ 4294967295U
402 __UINT_LEAST64_MAX__ 18446744073709551615UL
403 __UINT64_C(c) c ## UL
404 __INT_FAST8_MAX__ 127
405 __INT_FAST16_MAX__ 9223372036854775807L
406 __INT_FAST32_MAX__ 9223372036854775807L
407 __INT_FAST64_MAX__ 9223372036854775807L
408 __UINT_FAST8_MAX__ 255
409 __UINT_FAST16_MAX__ 18446744073709551615UL
410 __UINT_FAST32_MAX__ 18446744073709551615UL
411 __UINT_FAST64_MAX__ 18446744073709551615UL
412 __INTPTR_MAX__ 9223372036854775807L
413 __UINTPTR_MAX__ 18446744073709551615UL
414 __FLT_EVAL_METHOD__ 0
415 __DEC_EVAL_METHOD__ 2
419 __FLT_MIN_EXP__ (-125)
420 __FLT_MIN_10_EXP__ (-37)
422 __FLT_MAX_10_EXP__ 38
423 __FLT_DECIMAL_DIG__ 9
424 __FLT_MAX__ 3.40282346638528859812e+38F
425 __FLT_MIN__ 1.17549435082228750797e-38F
426 __FLT_EPSILON__ 1.19209289550781250000e-7F
427 __FLT_DENORM_MIN__ 1.40129846432481707092e-45F
429 __FLT_HAS_INFINITY__ 1
430 __FLT_HAS_QUIET_NAN__ 1
433 __DBL_MIN_EXP__ (-1021)
434 __DBL_MIN_10_EXP__ (-307)
436 __DBL_MAX_10_EXP__ 308
437 __DBL_DECIMAL_DIG__ 17
438 __DBL_MAX__ ((double)1.79769313486231570815e+308L)
439 __DBL_MIN__ ((double)2.22507385850720138309e-308L)
440 __DBL_EPSILON__ ((double)2.22044604925031308085e-16L)
441 __DBL_DENORM_MIN__ ((double)4.94065645841246544177e-324L)
443 __DBL_HAS_INFINITY__ 1
444 __DBL_HAS_QUIET_NAN__ 1
447 __LDBL_MIN_EXP__ (-16381)
448 __LDBL_MIN_10_EXP__ (-4931)
449 __LDBL_MAX_EXP__ 16384
450 __LDBL_MAX_10_EXP__ 4932
452 __LDBL_MAX__ 1.18973149535723176502e+4932L
453 __LDBL_MIN__ 3.36210314311209350626e-4932L
454 __LDBL_EPSILON__ 1.08420217248550443401e-19L
455 __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
456 __LDBL_HAS_DENORM__ 1
457 __LDBL_HAS_INFINITY__ 1
458 __LDBL_HAS_QUIET_NAN__ 1
460 __DEC32_MIN_EXP__ (-94)
462 __DEC32_MIN__ 1E-95DF
463 __DEC32_MAX__ 9.999999E96DF
464 __DEC32_EPSILON__ 1E-6DF
465 __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
466 __DEC64_MANT_DIG__ 16
467 __DEC64_MIN_EXP__ (-382)
468 __DEC64_MAX_EXP__ 385
469 __DEC64_MIN__ 1E-383DD
470 __DEC64_MAX__ 9.999999999999999E384DD
471 __DEC64_EPSILON__ 1E-15DD
472 __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
473 __DEC128_MANT_DIG__ 34
474 __DEC128_MIN_EXP__ (-6142)
475 __DEC128_MAX_EXP__ 6145
476 __DEC128_MIN__ 1E-6143DL
477 __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
478 __DEC128_EPSILON__ 1E-33DL
479 __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
481 __USER_LABEL_PREFIX__
482 __GNUC_GNU_INLINE__ 1
484 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
485 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
486 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
487 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
488 __GCC_ATOMIC_BOOL_LOCK_FREE 2
489 __GCC_ATOMIC_CHAR_LOCK_FREE 2
490 __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
491 __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
492 __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
493 __GCC_ATOMIC_SHORT_LOCK_FREE 2
494 __GCC_ATOMIC_INT_LOCK_FREE 2
495 __GCC_ATOMIC_LONG_LOCK_FREE 2
496 __GCC_ATOMIC_LLONG_LOCK_FREE 2
497 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
498 __GCC_ATOMIC_POINTER_LOCK_FREE 2
499 __GCC_HAVE_DWARF2_CFI_ASM 1
500 __PRAGMA_REDEFINE_EXTNAME 1
504 __SIZEOF_PTRDIFF_T__ 8
524 __DECIMAL_BID_FORMAT__ 1
525 file /home/mark/src/tests/macro.c
526 file /usr/include/string.h
528 file /usr/include/features.h
531 __KERNEL_STRICT_NAMES
533 __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
537 _POSIX_C_SOURCE 200809L
538 __USE_POSIX_IMPLICITLY 1
552 __USE_FORTIFY_LEVEL 0
554 file /usr/include/stdc-predef.h
558 __STDC_IEC_559_COMPLEX__ 1
559 __STDC_ISO_10646__ 201103L
560 __STDC_NO_THREADS__ 1
567 __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
568 __GLIBC_HAVE_LONG_LONG 1
570 file /usr/include/sys/cdefs.h
574 __LEAF_ATTR __attribute__ ((__leaf__))
575 __THROW __attribute__ ((__nothrow__ __LEAF))
576 __THROWNL __attribute__ ((__nothrow__))
577 __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
583 __long_double_t long double
586 __BEGIN_NAMESPACE_STD
588 __USING_NAMESPACE_STD(name)
589 __BEGIN_NAMESPACE_C99
591 __USING_NAMESPACE_C99(name)
595 __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
596 __bos0(ptr) __builtin_object_size (ptr, 0)
597 __fortify_function __extern_always_inline __attribute_artificial__
598 __warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg)))
599 __warnattr(msg) __attribute__((__warning__ (msg)))
600 __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))
602 __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
603 __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW
604 __REDIRECT_NTHNL(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROWNL
605 __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
606 __ASMNAME2(prefix,cname) __STRING (prefix) cname
607 __attribute_malloc__ __attribute__ ((__malloc__))
608 __attribute_pure__ __attribute__ ((__pure__))
609 __attribute_const__ __attribute__ ((__const__))
610 __attribute_used__ __attribute__ ((__used__))
611 __attribute_noinline__ __attribute__ ((__noinline__))
612 __attribute_deprecated__ __attribute__ ((__deprecated__))
613 __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
614 __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
615 __nonnull(params) __attribute__ ((__nonnull__ params))
616 __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
618 __always_inline __inline __attribute__ ((__always_inline__))
619 __attribute_artificial__ __attribute__ ((__artificial__))
620 __extern_inline extern __inline
621 __extern_always_inline extern __always_inline
622 __va_arg_pack() __builtin_va_arg_pack ()
623 __va_arg_pack_len() __builtin_va_arg_pack_len ()
624 __restrict_arr __restrict
625 __glibc_unlikely(cond) __builtin_expect((cond), 0)
627 file /usr/include/bits/wordsize.h
630 __WORDSIZE_TIME64_COMPAT32 1
631 __SYSCALL_WORDSIZE 64
635 __LDBL_REDIR1(name,proto,alias) name proto
636 __LDBL_REDIR(name,proto) name proto
637 __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW
638 __LDBL_REDIR_NTH(name,proto) name proto __THROW
639 __LDBL_REDIR_DECL(name)
640 __REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)
641 __REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)
644 file /usr/include/gnu/stubs.h
645 file /usr/include/gnu/stubs-64.h
669 file /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/stddef.h
691 file /usr/include/xlocale.h
699 testfiles testfile-macros-0xff
700 testrun_compare ${abs_builddir}/dwarf-getmacros testfile-macros-0xff 0xb <<\EOF
703 testrun_compare ${abs_builddir}/dwarf-getmacros testfile-macros-0xff 0xb '' <<\EOF
704 opcode 255 with 0 arguments
705 file /home/petr/proj/elfutils/master/elfutils/x.c