Don't perform builtin_frame_address on ARM

This commit is contained in:
Thomas Preud'homme 2014-02-03 12:26:49 +08:00
parent 4760804dba
commit 1415d7e6b6

View File

@ -2820,16 +2820,17 @@ void bfa2(ptrdiff_t str_offset)
void bfa1(ptrdiff_t str_offset) void bfa1(ptrdiff_t str_offset)
{ {
printf("bfa1: %s\n", (char *)__builtin_frame_address(1) + str_offset); printf("bfa1: %s\n", (char *)__builtin_frame_address(1) + str_offset);
#if defined(__arm__) && !defined(__GNUC__)
bfa2(str_offset); bfa2(str_offset);
#endif
} }
void builtin_frame_address_test(void) void builtin_frame_address_test(void)
{ {
/* builtin_frame_address fails on ARM with gcc which make test3 fail */
#ifndef __arm__
char str[] = "__builtin_frame_address"; char str[] = "__builtin_frame_address";
char *fp0 = __builtin_frame_address(0); char *fp0 = __builtin_frame_address(0);
printf("str: %s\n", str); printf("str: %s\n", str);
bfa1(str-fp0); bfa1(str-fp0);
#endif
} }