W dniu 07.05.2022 o 22:44, Julian Sikorski pisze:
> Hi list,
>
> I have constructs like these in my RPM spec files:
>
> RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed "s@
> -Wp,-D_GLIBCXX_ASSERTIONS@@")
> RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed "s@-g@-g1@")
>
> these used to work for f35 [1] but no longer do for f36 [2]. Is this
> an intentional change?
>
> Best regards,
> Julian
>
> [1]
>
https://kojipkgs.fedoraproject.org//packages/mame/0.243/2.fc35/data/logs/...
>
> [2]
>
https://kojipkgs.fedoraproject.org//packages/mame/0.243/2.fc36/data/logs/...
>
It appears that on f36 the gcc call itself already includes the %optflags:
g++ -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
-m64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection -O2 -fexceptions -g
-grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-MMD -MP -MP -DPTR64=1 -DNDEBUG -DCRLF=2 -DLSB_FIRST -DXMD_H
-DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1
-DLUA_COMPAT_5_2 -I"../../../../../src/osd"
-I"../../../../../src/emu"
-I"../../../../../src/lib/util" -m64 -std=c++17 -pipe -O2
-fno-strict-aliasing -O2 -fexceptions -g1 -grecord-gcc-switches -pipe
-Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef
-Wwrite-strings -Wno-conversion -Wno-sign-compare
-Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds
-Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow
-Wno-nonnull -Wno-stringop-overread -m64 -std=c++17 -Woverloaded-virtual
-Wimplicit-fallthrough -Wno-class-memaccess -Wsuggest-override -x
c++-header -DPTR64=1 -DNDEBUG -DCRLF=2 -DLSB_FIRST -DXMD_H
-DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1
-DLUA_COMPAT_5_2 -I"../../../../../src/osd"
-I"../../../../../src/emu"
-I"../../../../../src/lib/util" -o
"../../../../linux_gcc/obj/x64/Release/emu.h.gch" -c
"../../../../../src/emu/emu.h"
on f35 the same line looks as follows:
g++ -MMD -MP -MP -DPTR64=1 -DNDEBUG -DCRLF=2 -DLSB_FIRST -DXMD_H
-DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1
-DLUA_COMPAT_5_2 -I"../../../../../src/osd"
-I"../../../../../src/emu"
-I"../../../../../src/lib/util" -m64 -std=c++17 -pipe -O2
-fno-strict-aliasing -O2 -fexceptions -g1 -grecord-gcc-switches -pipe
-Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef
-Wwrite-strings -Wno-conversion -Wno-sign-compare
-Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds
-Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow
-Wno-nonnull -Wno-stringop-overread -m64 -std=c++17 -Woverloaded-virtual
-Wimplicit-fallthrough -Wno-class-memaccess -Wsuggest-override -x
c++-header -DPTR64=1 -DNDEBUG -DCRLF=2 -DLSB_FIRST -DXMD_H
-DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1
-DLUA_COMPAT_5_2 -I"../../../../../src/osd"
-I"../../../../../src/emu"
-I"../../../../../src/lib/util" -o
"../../../../linux_gcc/obj/x64/Release/emu.h.gch" -c
"../../../../../src/emu/emu.h"
I tried setting %undefine _auto_set_build_flags in my spec file but it
appears to have no effect:
g++ -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
-m64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection -O2 -fexceptions -g
-grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-MMD -MP -MP -DPTR64=1 -DNDEBUG -DCRLF=2 -DLSB_FIRST -DXMD_H
-DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1
-DLUA_COMPAT_5_2 -I"../../../../../src/osd"
-I"../../../../../src/emu"
-I"../../../../../src/lib/util" -m64 -std=c++17 -pipe -O2
-fno-strict-aliasing -O2 -fexceptions -g1 -grecord-gcc-switches -pipe
-Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef
-Wwrite-strings -Wno-conversion -Wno-sign-compare
-Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds
-Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow
-Wno-nonnull -Wno-stringop-overread -m64 -std=c++17 -Woverloaded-virtual
-Wimplicit-fallthrough -Wno-class-memaccess -Wsuggest-override -x
c++-header -DPTR64=1 -DNDEBUG -DCRLF=2 -DLSB_FIRST -DXMD_H
-DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1
-DLUA_COMPAT_5_2 -I"../../../../../src/osd"
-I"../../../../../src/emu"
-I"../../../../../src/lib/util" -o
"../../../../linux_gcc/obj/x64/Release/emu.h.gch" -c
"../../../../../src/emu/emu.h"
How does one override default %optflags these days? Thank you for your
input in advanve.
Best regards,
Julian
I was wrong, %undefine _auto_set_build_flags does work. Problem solved.
Best regards,
Julian