------- Additional Comments From kazu at cs dot umass dot edu 2005-04-14 14:42 ------- Reduced down to:
struct link_map { struct link_map *next; unsigned int start, end; }; void foo (struct link_map **array, long int cnt) { struct link_map *l; const void *caller = __builtin_extract_return_addr (__builtin_return_address (0)); long int ns = 0; for (l = array[cnt]; l; l = l->next) { if (caller >= (const void *) l->start && caller < (const void *) l->end) ns = cnt; } for (l = array[ns]; l != 0; l = l->next) ; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21021