Revert "[AVR] Explicitly set the address of the data section when invoking the linker"
authorDylan McKay <me@dylanmckay.io>
Tue, 23 Jun 2020 10:21:22 +0000 (22:21 +1200)
committerDylan McKay <me@dylanmckay.io>
Tue, 23 Jun 2020 10:23:05 +0000 (22:23 +1200)
This reverts commit ede6005e7092ddae454e4d365d8adefeaec1f5e3.

Ayke suggests this value varies chip-by-chip, and thus it is not safe to
hardcode to 0x800100.

Proper logic for this linker parameter will have to be wired up in a
follow up patch.

clang/lib/Driver/ToolChains/AVR.cpp

index a86d6fa..d100679 100644 (file)
@@ -118,13 +118,6 @@ void AVR::Linker::ConstructJob(Compilation &C, const JobAction &JA,
   Args.AddAllArgs(CmdArgs, options::OPT_L);
   getToolChain().AddFilePathLibArgs(Args, CmdArgs);
 
-  //   "Not [sic] that addr must be offset by adding 0x800000 the to
-  //    real SRAM address so that the linker knows that the address
-  //    is in the SRAM memory space."
-  //
-  //      - https://www.nongnu.org/avr-libc/user-manual/mem_sections.html
-  CmdArgs.push_back("-Tdata=0x800100");
-
   // If the family name is known, we can link with the device-specific libgcc.
   // Without it, libgcc will simply not be linked. This matches avr-gcc
   // behavior.