This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
RE: [PATCH] newlib: Remove debug flag for --enable-target-optspace
- From: "Jon Beniston" <jon at beniston dot com>
- To: "'Stephanos Ioannidis'" <root at stephanos dot io>, <newlib at sourceware dot org>
- Date: Fri, 29 Nov 2019 09:55:55 -0000
- Subject: RE: [PATCH] newlib: Remove debug flag for --enable-target-optspace
- References: <20191129034435.39599-1-root@stephanos.io>
Hi Stephanos,
I don't think this should be required. -g generally shouldn't cause code
size to be bigger when used with -Os. The resulting ELF files will be
bigger, as they include debug info, but this debug info is not burnt to
flash or loaded in to RAM. If you want the ELF files smaller because they
need to go on the targets filesystem, then you can run the strip program on
them to remove the debug info.
Cheers,
Jon
-----Original Message-----
From: newlib-owner@sourceware.org <newlib-owner@sourceware.org> On Behalf Of
Stephanos Ioannidis
Sent: 29 November 2019 03:47
To: newlib@sourceware.org
Cc: Stephanos Ioannidis <root@stephanos.io>
Subject: [PATCH] newlib: Remove debug flag for --enable-target-optspace
--enable-target-optspace adds -g (debug) option flag to the CFLAGS alongside
-Os (optimise for size) for no good reason.
Since the -g option flag is not required by the -Os option flag and it not
contribute to what --enable-target-optspace tries to achieve (i.e.
optimise for size), this flag should be removed.
It is also worth noting that many newlib users (e.g. GNU ARM Embedded) are
manually adding -Os to CFLAGS because the --enable-target-optspace does not
achieve what it should.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
---
config/mt-ospace | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/mt-ospace b/config/mt-ospace index ce29ff431..95be8259d
100644
--- a/config/mt-ospace
+++ b/config/mt-ospace
@@ -1,3 +1,3 @@
# Build libraries optimizing for space, not speed.
- CFLAGS_FOR_TARGET += -g -Os
- CXXFLAGS_FOR_TARGET += -g -Os
+ CFLAGS_FOR_TARGET += -Os
+ CXXFLAGS_FOR_TARGET += -Os
--
2.17.1