[oe-commits] [meta-openembedded] 05/05: protobuf: fix ptest compilation with hardening flags

git at git.openembedded.org git at git.openembedded.org
Fri Jul 12 18:14:55 UTC 2019


This is an automated email from the git hooks/post-receive script.

khem pushed a commit to branch master-next
in repository meta-openembedded.

commit 852f2d9d2630108e7bfe12f0b6e6449c2893f6e9
Author: Mikko Rapeli <mikko.rapeli at bmw.de>
AuthorDate: Fri Jul 12 14:26:47 2019 +0300

    protobuf: fix ptest compilation with hardening flags
    
    Build fails when conf/local.conf has both hardening and ptests enabled:
    
    require conf/distro/include/security_flags.inc
    
    DISTRO_FEATURES_append = " ptest"
    
    Use CXXFLAGS for examples too to avoid hardening warnings
    about using O0 optimization.
    
    Then change linking order to avoid linker failures:
    
    aarch64-poky-linux-g++  -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=form
    at-security -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security
    --sysroot=/home/builder/src/base/build/tmp/work/aarch64-poky-linux/protobuf/3.8.0-r0/recipe-sysroot
     -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/builder/src/base/build/tmp/work/aar
    ch64-poky-linux/protobuf/3.8.0-r0=/usr/src/debug/protobuf/3.8.0-r0                      -fdebug-pre
    fix-map=/home/builder/src/base/build/tmp/work/aarch64-poky-linux/protobuf/3.8.0-r0=/usr/src/debug/pr
    otobuf/3.8.0-r0                      -fdebug-prefix-map=/home/builder/src/base/build/tmp/work/aarch6
    4-poky-linux/protobuf/3.8.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/builder/src
    /base/build/tmp/work/aarch64-poky-linux/protobuf/3.8.0-r0/recipe-sysroot-native=  -fvisibility-inlin
    es-hidden -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now -fstack-p
    rotector-strong -Wl,-z,relro,-z,now -pthread -I/home/builder/src/base/build/tmp/work/aarch64-poky-linux/p
    rotobuf/3.8.0-r0/git/src -L/home/builder/src/base/build/tmp/work/aarch64-poky-linux/protobuf/3.8.0-r
    0/git/src/.libs -L/home/builder/src/base/build/tmp/work/aarch64-poky-linux/protobuf/3.8.0-r0/re
    cipe-sysroot/usr/lib -lprotobuf ../src/google/protobuf/.libs/timestamp.pb.o add_person.cc addressbook.pb.cc -
    o add_person_cpp
    /home/builder/src/base/build/tmp/work/aarch64-poky-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr
    /bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/9.1.0/ld: ../src/google/protobuf/.libs/timestamp.pb.o: in function `google::protobuf::Timestamp::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const':
    /usr/src/debug/protobuf/3.8.0-r0/git/src/google/protobuf/timestamp.pb.cc:279: undefined reference to `google::protobuf::internal::WireFormat::SerializeUnknownFields(google::protobuf::UnknownFieldSet const&, google::protobuf::io::CodedOutputStream*)'
    
    Signed-off-by: Mikko Rapeli <mikko.rapeli at bmw.de>
    Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 .../0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
index 029abfd..0a2e5e2 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -45,12 +45,12 @@ index 4ad605641..31d887639 100644
  add_person_cpp: add_person.cc protoc_middleman
  	pkg-config --cflags protobuf  # fails if protobuf is not installed
 -	c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
-+	$(CXX) $(LDFLAGS) $(PROTOBUF) ../src/google/protobuf/.libs/timestamp.pb.o add_person.cc addressbook.pb.cc -o add_person_cpp
++	$(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
  
  list_people_cpp: list_people.cc protoc_middleman
  	pkg-config --cflags protobuf  # fails if protobuf is not installed
 -	c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
-+	$(CXX) $(LDFLAGS) $(PROTOBUF) ../src/google/protobuf/.libs/timestamp.pb.o list_people.cc addressbook.pb.cc -o list_people_cpp
++	$(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
  
  add_person_dart: add_person.dart protoc_middleman_dart
  

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list