mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-15 08:53:07 +09:00
Issue #1824 - Support SunOS Linker mapfiles.
Generating OS-appropriate mapfiles from a provided SYMBOL_FILE is apparently required to work with newer ffvpx. Nothing else in our codebase actually seemed to require it. Also seems to reduce the amount of console spam I see relating to symbol visibility during the build process, and I think it even makes libxul.so link a bit faster. Signed-off-by: athenian200 <athenian200@outlook.com>
This commit is contained in:
parent
ae5bfc9ff2
commit
42db0b335f
2 changed files with 18 additions and 0 deletions
|
|
@ -411,6 +411,10 @@ EXTRA_DSO_LDOPTS += -Wl,--version-script,$(SYMBOLS_FILE)
|
|||
else
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
EXTRA_DSO_LDOPTS += -Wl,-exported_symbols_list,$(SYMBOLS_FILE)
|
||||
else
|
||||
ifeq ($(OS_TARGET),SunOS)
|
||||
EXTRA_DSO_LDOPTS += -Wl,-M,$(SYMBOLS_FILE)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -83,6 +83,20 @@ def generate_symbols_file(output, *args):
|
|||
# };
|
||||
output.write('{\nglobal:\n %s;\nlocal:\n *;\n};'
|
||||
% ';\n '.join(symbols))
|
||||
elif buildconfig.substs['OS_TARGET'] == 'SunOS':
|
||||
# A linker version script is generated for Sun LD that looks like the
|
||||
# following:
|
||||
# $mapfile_version 2
|
||||
# SYMBOL_VERSION SUNW_1.1 {
|
||||
# global:
|
||||
# symbol1;
|
||||
# symbol2;
|
||||
# ...
|
||||
# local:
|
||||
# *;
|
||||
# };
|
||||
output.write('$mapfile_version 2\nSYMBOL_VERSION SUNW_1.1 {\nglobal:\n %s;\nlocal:\n *;\n};'
|
||||
% ';\n '.join(symbols))
|
||||
elif buildconfig.substs['OS_TARGET'] == 'Darwin':
|
||||
# A list of symbols is generated for Apple ld that simply lists all
|
||||
# symbols, with an underscore prefix.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue