SHA256
1
0
forked from pool/uwsgi
uwsgi/uwsgi-ld-noexecstack.patch
Dominique Leuenberger 24b0e5ce6b - Added a backport of uwsgi-93d07ec38b31.patch to fix a type
incompatibility problem to enable build with GCC 14.

If the request is OK, please forward it to Factory soon too so that we
can switch the default compiler.  Thanks!

OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=129
2024-08-16 12:10:59 +00:00

48 lines
3.0 KiB
Diff

--- a/uwsgiconfig.py
+++ b/uwsgiconfig.py
@@ -535,7 +535,7 @@ def build_uwsgi(uc, print_only=False, gc
gcc_list.append('%s/%s' % (path, cfile))
for bfile in up.get('BINARY_LIST', []):
try:
- binary_link_cmd = "ld -r -b binary -o %s/%s.o %s/%s" % (path, bfile[1], path, bfile[1])
+ binary_link_cmd = "ld -z noexecstack -r -b binary -o %s/%s.o %s/%s" % (path, bfile[1], path, bfile[1])
print(binary_link_cmd)
if subprocess.call(binary_link_cmd, shell=True) != 0:
raise Exception('unable to link binary file')
@@ -1150,7 +1150,7 @@ class uConf(object):
if not self.embed_config:
self.embed_config = self.get('embed_config')
if self.embed_config:
- binary_link_cmd = "ld -r -b binary -o %s.o %s" % (binarize(self.embed_config), self.embed_config)
+ binary_link_cmd = "ld -z noexecstack -r -b binary -o %s.o %s" % (binarize(self.embed_config), self.embed_config)
print(binary_link_cmd)
subprocess.call(binary_link_cmd, shell=True)
self.cflags.append("-DUWSGI_EMBED_CONFIG=_binary_%s_start" % binarize(self.embed_config))
@@ -1169,7 +1169,7 @@ class uConf(object):
for directory, directories, files in os.walk(ef):
for f in files:
fname = "%s/%s" % (directory, f)
- binary_link_cmd = "ld -r -b binary -o %s.o %s" % (binarize(fname), fname)
+ binary_link_cmd = "ld -z noexecstack -r -b binary -o %s.o %s" % (binarize(fname), fname)
print(binary_link_cmd)
subprocess.call(binary_link_cmd, shell=True)
if symbase:
@@ -1179,7 +1179,7 @@ class uConf(object):
subprocess.call(objcopy_cmd, shell=True)
binary_list.append(binarize(fname))
else:
- binary_link_cmd = "ld -r -b binary -o %s.o %s" % (binarize(ef), ef)
+ binary_link_cmd = "ld -z noexecstack -r -b binary -o %s.o %s" % (binarize(ef), ef)
print(binary_link_cmd)
subprocess.call(binary_link_cmd, shell=True)
binary_list.append(binarize(ef))
@@ -1464,7 +1464,7 @@ def build_plugin(path, uc, cflags, ldfla
gcc_list.append(path + '/' + cfile)
for bfile in up.get('BINARY_LIST', []):
try:
- binary_link_cmd = "ld -r -b binary -o %s/%s.o %s/%s" % (path, bfile[1], path, bfile[1])
+ binary_link_cmd = "ld -z noexecstack -r -b binary -o %s/%s.o %s/%s" % (path, bfile[1], path, bfile[1])
print(binary_link_cmd)
if subprocess.call(binary_link_cmd, shell=True) != 0:
raise Exception('unable to link binary file')