Date: Fri, 09 Feb 2001 12:30:05 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: rpolzer AT web DOT de (Rudolf Polzer) Message-Id: <9791-Fri09Feb2001123005+0200-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.6 CC: djgpp AT delorie DOT com In-reply-to: Subject: Re: what does the -s switch do? References: <5NDg6.576$xT3 DOT 24905 AT news1 DOT oke DOT nextra DOT no> <95vfvh$pjt$1 AT nnrp1 DOT deja DOT com> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: rpolzer AT web DOT de (Rudolf Polzer) > Newsgroups: comp.os.msdos.djgpp > Date: Fri, 9 Feb 2001 09:21:17 +0100 > > I forgot to ask, > is "gcc -O3 -ggdb3 -o X.EXE" and then "strip -s X.EXE" equivalent to > leaving out -ggdb3? No. "strip foo.exe" (note: no -s switch to strip) is actually _more_ than just leaving out -ggdb3. -ggdb3 adds line number and other source-related information, but a minimal set of information about symbols is put into the binary even without -g. `strip' removes _all_ of the symbolic info, leaving just the bare machine code. For example, without -ggdb3 you should still be able to run SYMIFY and get at least the functions' names from the addresses. After `strip', this is impossible.