From 3e2dcaf7f20dbe3f92f65fbdfbeb3b8ab83df7a2 Mon Sep 17 00:00:00 2001 From: Olivier Certner Date: Wed, 6 Jan 2021 13:43:01 +0100 Subject: Issue #1699 - Part 3c: mozjemalloc: FreeBSD: Ensure early initialization This guarantees that initialization is done in a single-thread context. --- build/gecko_templates.mozbuild | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build/gecko_templates.mozbuild b/build/gecko_templates.mozbuild index e2bc999b7..a15fdd77f 100644 --- a/build/gecko_templates.mozbuild +++ b/build/gecko_templates.mozbuild @@ -63,6 +63,11 @@ def GeckoBinary(linkage='dependent', msvcrt='dynamic', mozglue=None): LDFLAGS += ['-rdynamic'] if CONFIG['MOZ_MEMORY']: USE_LIBS += ['memory'] + if CONFIG['OS_ARCH'] == 'FreeBSD': + # Make sure this function is linked in, so that it is + # executed at executable load (it has the 'constructor' + # flag). + LDFLAGS += ['-u', 'jemalloc_FreeBSD_init'] elif mozglue == 'library': LIBRARY_DEFINES['MOZ_HAS_MOZGLUE'] = True if not CONFIG['MOZ_GLUE_IN_PROGRAM']: -- cgit v1.2.3