diff options
| -rw-r--r-- | lld/wasm/Driver.cpp | 2 | ||||
| -rw-r--r-- | lld/wasm/Writer.cpp | 6 | 
2 files changed, 5 insertions, 3 deletions
diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp index 5601cec882c..66329ac130c 100644 --- a/lld/wasm/Driver.cpp +++ b/lld/wasm/Driver.cpp @@ -257,6 +257,8 @@ void LinkerDriver::link(ArrayRef<const char *> ArgsArr) {    Config->Sysroot = Args.getLastArgValue(OPT_sysroot);    errorHandler().Verbose = Args.hasArg(OPT_verbose);    ThreadsEnabled = Args.hasFlag(OPT_threads, OPT_no_threads, true); +  if (Config->Relocatable) +    Config->EmitRelocs = true;    Config->InitialMemory = args::getInteger(Args, OPT_initial_memory, 0);    Config->GlobalBase = args::getInteger(Args, OPT_global_base, 1024); diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp index 309b10cabc4..ddaed5b250c 100644 --- a/lld/wasm/Writer.cpp +++ b/lld/wasm/Writer.cpp @@ -226,7 +226,7 @@ void Writer::createGlobalSection() {      writeGlobal(OS, Global);    } -  if (Config->Relocatable || Config->EmitRelocs) { +  if (Config->EmitRelocs) {      for (ObjFile *File : Symtab->ObjectFiles) {        uint32_t GlobalIndex = File->NumGlobalImports();        for (const WasmGlobal &Global : File->getWasmObj()->globals()) { @@ -539,7 +539,7 @@ void Writer::createSections() {    createDataSection();    // Custom sections -  if (Config->EmitRelocs || Config->Relocatable) +  if (Config->EmitRelocs)      createRelocSections();    createLinkingSection();    if (!Config->StripDebug && !Config->StripAll) @@ -565,7 +565,7 @@ void Writer::calculateOffsets() {      NumFunctions += WasmFile->functions().size();      // Global Index -    if (Config->Relocatable || Config->EmitRelocs) { +    if (Config->EmitRelocs) {        File->GlobalIndexOffset =            GlobalImports.size() - File->NumGlobalImports() + NumGlobals;        NumGlobals += WasmFile->globals().size();  | 

