[asterisk-bugs] [JIRA] (ASTERISK-27563) pjsip modules always get -O2 even when DONT_OPTIMIZE is set
George Joseph (JIRA)
noreply at issues.asterisk.org
Mon Jan 8 14:16:39 CST 2018
[ https://issues.asterisk.org/jira/browse/ASTERISK-27563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
George Joseph updated ASTERISK-27563:
-------------------------------------
Description:
{noformat}
gcc -o res_pjsip_transport_management.o -c res_pjsip_transport_management.c -MD -MT res_pjsip_transport_management.o -MF .res_pjsip_transport_management.o.d -MP -pthread -I/usr/src/asterisk/asterisk/include -I/usr/include/libxml2 -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -O0 -march=native -fPIC -DAST_MODULE=\"res_pjsip_transport_management\" -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0
<gtjoseph> -DPJ_IS_LITTLE_ENDIAN=1 -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjlib/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjlib-util/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjnath/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjmedia/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjsip/include
{noformat}
notice that pjsip modules get -O2 because it's in the PJPROJECT_CFLAGS variable
was:
Somehow the DONT_OPTIMIZE process got messed up and we're always setting -g3 on gcc command lines. -g3 adds a ton of debugging symbols to what should be a production release.
{noformat}
$ ls -al main/asterisk
-rwxrwxr-x. 1 gtjoseph gtjoseph 14615664 Jan 8 06:27 main/asterisk
$ strip -g main/asterisk
$ ls -al main/asterisk
-rwxrwxr-x. 1 gtjoseph gtjoseph 3128432 Jan 8 06:30 main/asterisk
{noformat}
We should also use -ggdb3 instead of just -g3 to get gdb extensions which include macro processing. Actually, we should ALWAYS compile with -ggdb3 and then do a strip on the binaries during install if DON"T OPTIMIZE wasn't set. Actually, actually, we should probably change DONT_OPTIMIZE so it only controls -O and create a new option for STRIP_DEBUG that defaults to yes for non-dev-mode builds.
> pjsip modules always get -O2 even when DONT_OPTIMIZE is set
> -----------------------------------------------------------
>
> Key: ASTERISK-27563
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27563
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/BuildSystem
> Affects Versions: 13.18.5, GIT, 15.1.5
> Reporter: George Joseph
> Labels: pjsip
>
> {noformat}
> gcc -o res_pjsip_transport_management.o -c res_pjsip_transport_management.c -MD -MT res_pjsip_transport_management.o -MF .res_pjsip_transport_management.o.d -MP -pthread -I/usr/src/asterisk/asterisk/include -I/usr/include/libxml2 -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -O0 -march=native -fPIC -DAST_MODULE=\"res_pjsip_transport_management\" -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0
> <gtjoseph> -DPJ_IS_LITTLE_ENDIAN=1 -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjlib/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjlib-util/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjnath/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjmedia/include -I/usr/src/asterisk/asterisk/third-party/pjproject/source/pjsip/include
> {noformat}
> notice that pjsip modules get -O2 because it's in the PJPROJECT_CFLAGS variable
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list