Pull up following revision(s) (requested by riastradh in ticket #1662):

lib/libc/dlfcn/dlfcn_elf.c: revision 1.17

libc: Fix missing membar_consumer in dl_iterate_phdr.

Pairs with the existing membar_producer.
This commit is contained in:
martin 2023-07-05 16:14:03 +00:00
parent 6afd773ca6
commit 2a7c409ff5
1 changed files with 3 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: dlfcn_elf.c,v 1.16 2018/07/13 19:49:47 joerg Exp $ */ /* $NetBSD: dlfcn_elf.c,v 1.16.2.1 2023/07/05 16:14:03 martin Exp $ */
/* /*
* Copyright (c) 2000 Takuya SHIOZAKI * Copyright (c) 2000 Takuya SHIOZAKI
@ -27,7 +27,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint) #if defined(LIBC_SCCS) && !defined(lint)
__RCSID("$NetBSD: dlfcn_elf.c,v 1.16 2018/07/13 19:49:47 joerg Exp $"); __RCSID("$NetBSD: dlfcn_elf.c,v 1.16.2.1 2023/07/05 16:14:03 martin Exp $");
#endif /* LIBC_SCCS and not lint */ #endif /* LIBC_SCCS and not lint */
#include "namespace.h" #include "namespace.h"
@ -207,6 +207,7 @@ dl_iterate_phdr(int (*callback)(struct dl_phdr_info *, size_t, void *),
membar_producer(); membar_producer();
setup_done = true; setup_done = true;
} }
membar_consumer();
memset(&phdr_info, 0, sizeof(phdr_info)); memset(&phdr_info, 0, sizeof(phdr_info));
phdr_info.dlpi_addr = dlpi_addr; phdr_info.dlpi_addr = dlpi_addr;