Made sure that DRD processes empty address ranges without triggering an assertion failure. Added a unit test in drd/tests/unit_bitmap.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11346 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/drd/drd_suppression.c b/drd/drd_suppression.c
index cfe4b03..bb12b9f 100644
--- a/drd/drd_suppression.c
+++ b/drd/drd_suppression.c
@@ -69,7 +69,7 @@
                    a1, a2 - a1, reason);
    }
 
-   tl_assert(a1 < a2);
+   tl_assert(a1 <= a2);
    DRD_(bm_access_range_store)(DRD_(s_suppressed), a1, a2);
 }
 
@@ -82,7 +82,7 @@
       VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), 12);
    }
 
-   tl_assert(a1 < a2);
+   tl_assert(a1 <= a2);
    DRD_(bm_clear_store)(DRD_(s_suppressed), a1, a2);
 }
 
@@ -118,7 +118,7 @@
 
 void DRD_(start_tracing_address_range)(const Addr a1, const Addr a2)
 {
-   tl_assert(a1 < a2);
+   tl_assert(a1 <= a2);
 
    DRD_(bm_access_range_load)(DRD_(s_traced), a1, a2);
    if (! DRD_(g_any_address_traced))
@@ -129,7 +129,7 @@
 
 void DRD_(stop_tracing_address_range)(const Addr a1, const Addr a2)
 {
-   tl_assert(a1 < a2);
+   tl_assert(a1 <= a2);
 
    DRD_(bm_clear_load)(DRD_(s_traced), a1, a2);
    if (DRD_(g_any_address_traced))
@@ -160,7 +160,7 @@
       }
    }
    tl_assert(a1);
-   tl_assert(a1 < a2);
+   tl_assert(a1 <= a2);
    DRD_(bm_clear)(DRD_(s_suppressed), a1, a2);
    DRD_(bm_clear)(DRD_(s_traced), a1, a2);
 }