This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
[patch] Code cleanup: Simplify binary_search_fde
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Mon, 08 Oct 2012 19:39:31 +0200
- Subject: [patch] Code cleanup: Simplify binary_search_fde
Hi,
this change has no effect on functionality, it just makes the code less magic.
Thanks,
Jan
libdw/
2012-10-08 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* fde.c (binary_search_fde): Remove always true <address >= start>
conditional. Move L initialization upwards.
diff --git a/libdw/fde.c b/libdw/fde.c
index d366768..bde0c99 100644
--- a/libdw/fde.c
+++ b/libdw/fde.c
@@ -181,32 +181,30 @@ binary_search_fde (Dwarf_CFI *cache, Dwarf_Addr address)
u = idx;
else
{
+ l = idx + 1;
+
Dwarf_Addr fde;
if (unlikely (read_encoded_value (&dummy_cfi,
cache->search_table_encoding, &p,
&fde)))
break;
- if (address >= start)
+
+ /* If this is the last entry, its upper bound is assumed to be
+ the end of the module.
+ XXX really should be end of containing PT_LOAD segment */
+ if (l < cache->search_table_entries)
{
- l = idx + 1;
-
- /* If this is the last entry, its upper bound is assumed to be
- the end of the module.
- XXX really should be end of containing PT_LOAD segment */
- if (l < cache->search_table_entries)
- {
- /* Look at the start address in the following entry. */
- Dwarf_Addr end;
- if (unlikely (read_encoded_value
- (&dummy_cfi, cache->search_table_encoding, &p,
- &end)))
- break;
- if (address >= end)
- continue;
- }
-
- return fde - cache->frame_vaddr;
+ /* Look at the start address in the following entry. */
+ Dwarf_Addr end;
+ if (unlikely (read_encoded_value
+ (&dummy_cfi, cache->search_table_encoding, &p,
+ &end)))
+ break;
+ if (address >= end)
+ continue;
}
+
+ return fde - cache->frame_vaddr;
}
}