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_main.c b/drd/drd_main.c
index cc019af..92b38c0 100644
--- a/drd/drd_main.c
+++ b/drd/drd_main.c
@@ -288,7 +288,7 @@
 void drd_start_using_mem(const Addr a1, const SizeT len,
                          const Bool is_stack_mem)
 {
-   tl_assert(a1 < a1 + len);
+   tl_assert(a1 <= a1 + len);
 
    if (!is_stack_mem && s_trace_alloc)
       VG_(message)(Vg_UserMsg, "Started using memory range 0x%lx + %ld%s\n",
@@ -326,7 +326,7 @@
 {
    const Addr a2 = a1 + len;
 
-   tl_assert(a1 < a2);
+   tl_assert(a1 <= a2);
 
    if (UNLIKELY(DRD_(any_address_is_traced)()))
       DRD_(trace_mem_access)(a1, len, eEnd);