it would be good to analyze which of those .text/data sections are actually visited - i recall someone running the Vivado FPGA toolset, that is notoriously massive (90GB+) over a special FUSE fs that tells you which files were accessed, and then stripping out the ones that weren't, leading ot substantial wins.
to be honest, it is surprising that a toolchain could be 350MB - that is a lot of code, if thats what it is.