__wasm_apply_data_relocs can grow drastically exceeding the function size limit.
This change introduces __wasm_apply_data_relocs_tail function which is supposed
to include instructions that caused the limit hit. __wasm_apply_data_relocs
calls __wasm_apply_data_relocs_tail at the end of the function body.
__wasm_apply_data_relocs_tail is empty if wasm module doesn't hit the function
size limit.
discussed here:
https://github.com/llvm/llvm-project/issues/55608
https://github.com/emscripten-core/emscripten/discussions/17374
Why are alll these test files showing up in the diff like every line of the file has changed? Did the line endings change maybe?