Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
SUSE:SLE-15-SP1:GA
systemtap.10987
systemtap-change-extra_cflags-escape-processing...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File systemtap-change-extra_cflags-escape-processing.patch of Package systemtap.10987
From: David Smith <dsmith@redhat.com> Date: Mon Nov 20 09:51:40 2017 -0600 Subject: change EXTRA_CFLAGS escape processing Git-commit: c0a01780574234b7c87a7babdc7ee41f33a83983 References: bsc#1067437 Signed-off-by: Tony Jones <tonyj@suse.de> Fix PR22462 by updating the way we generate the Makefile. * buildrun.cxx (compile_pass): If the runtime path doesn't have any odd characters in it, don't bother quoting it in the generated Makefile. diff --git a/buildrun.cxx b/buildrun.cxx index 6dc4e5fda..c286a4a80 100644 --- a/buildrun.cxx +++ b/buildrun.cxx @@ -36,6 +36,8 @@ extern "C" { // https://bugs.gentoo.org/show_bug.cgi?id=522908 #define WERROR ("-W" "error") +#define PATH_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+,-./_" + using namespace std; /* Adjust and run make_cmd to build a kernel module. */ @@ -513,7 +515,18 @@ compile_pass (systemtap_session& s) #if CHECK_POINTER_ARITH_PR5947 o << "EXTRA_CFLAGS += -Wpointer-arith" << endl; #endif - o << "EXTRA_CFLAGS += -I\"" << s.runtime_path << "\"" << endl; + + // If we've got a reasonable runtime path from the user, we'll just + // do '-IDIR'. If there are any sneaky/odd characters in it, we'll + // have to quote it, like '-I"DIR"'. + if (s.runtime_path.find_first_not_of(PATH_ALLOWED_CHARS, 0) == string::npos) + o << "EXTRA_CFLAGS += -I" << s.runtime_path << endl; + else + { + s.print_warning("quoting runtime path in the module Makefile."); + o << "EXTRA_CFLAGS += -I\"" << s.runtime_path << "\"" << endl; + } + // XXX: this may help ppc toc overflow // o << "CFLAGS := $(subst -Os,-O2,$(CFLAGS)) -fminimal-toc" << endl; o << "obj-m := " << s.module_name << ".o" << endl;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor