-ffunction-sections -fdata-sections -gc-sections are used to compile sources to support GCing unused functions/data.