Skip to content

Commit f00d4ae

Browse files
authored
add docs for upgrading bundled libs [ci skip] (#7286)
1 parent edfbe07 commit f00d4ae

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

docs/process.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Release Processes
2-
=================
2+
-----------------
33

44
Minor version updates (1.X.Y to 1.X.Y+1)
5-
----------------------------------------
5+
========================================
66

77
When:
88

@@ -26,7 +26,7 @@ How:
2626

2727

2828
Major version update (1.X.Y to 1.(X+1).0)
29-
-----------------------------------------
29+
=========================================
3030

3131
When:
3232

docs/upgrading-bundled-libs.Markdown

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
Upgrading Bundled System Libraries
3+
==================================
4+
5+
This includes musl, libc++, and others whose source is bundled in our repo
6+
for simplicity.
7+
8+
To update them,
9+
10+
* Update the files in `system/` with the new version's files. For example,
11+
for musl that means `system/lib/libc/musl` and `system/include/libc`. You
12+
need to handle Emscripten's local changes, which are marked with
13+
`XXX EMSCRIPTEN` comments, may need to handle merge conflicts there. It is
14+
useful to search the git diff for `EMSCRIPTEN` to see those areas.
15+
* Update the list of symbols. Those symbols are scanned by the linker in order
16+
to know whether to link in a system library or not (so a missing symbol
17+
may cause linking to not include something you need). The files are under
18+
`system/lib`/ and have the suffix `.symbol`. To generate the new contents,
19+
build the system library with the new files, and do something like this
20+
for musl:
21+
`~/Dev/fastcomp/build/bin/llvm-nm ~/.emscripten_cache/asmjs/libc.bc | sort`
22+
and write that to the `.symbol` file. Take a look at the git diff to see
23+
if anything looks odd.
24+
* Run the test suite to make sure everything works. You can open a PR and let
25+
the continuous integration run it for you.
26+

0 commit comments

Comments
 (0)