[pushed] Clarify purpose of assert in _dl_lookup_symbol_x

Message ID 20191112192009.69B4420AF6@gnutoolchain-gerrit.osci.io
State Committed
Headers

Commit Message

Simon Marchi (Code Review) Nov. 12, 2019, 7:20 p.m. UTC
  Sourceware to Gerrit sync has submitted this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/469
......................................................................

Clarify purpose of assert in _dl_lookup_symbol_x

Only one of the currently defined flags is incompatible with versioned
symbol lookups, so it makes sense to check for that flag and not its
complement.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Change-Id: I3384349cef90cfd91862ebc34a4053f0c0a99404
---
M elf/dl-lookup.c
1 file changed, 3 insertions(+), 5 deletions(-)

Approvals:
  Carlos O'Donell: Looks good to me, approved
  

Patch

diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index fd44cd4..aaaf437 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -792,11 +792,9 @@ 
 
   bump_num_relocations ();
 
-  /* No other flag than DL_LOOKUP_ADD_DEPENDENCY or DL_LOOKUP_GSCOPE_LOCK
-     is allowed if we look up a versioned symbol.  */
-  assert (version == NULL
-	  || (flags & ~(DL_LOOKUP_ADD_DEPENDENCY | DL_LOOKUP_GSCOPE_LOCK))
-	     == 0);
+  /* DL_LOOKUP_RETURN_NEWEST does not make sense for versioned
+     lookups.  */
+  assert (version == NULL || !(flags & DL_LOOKUP_RETURN_NEWEST));
 
   size_t i = 0;
   if (__glibc_unlikely (skip_map != NULL))