SHA256
1
0
forked from pool/uwsgi
uwsgi/uwsgi-ld-noexecstack.patch
James Oakley 1876eeca45 - Update to 2.0.24
* properly init cache for purge_lru (Alexandre Rossi)
  * fix linking with php8 (Remi Collet)
  * remove unused variables to fix compilation (László Károlyi)
  * fix function parameter type to avoid overflow in harakiri (Shai Bentov)
  * fix socket queue stats for ipv6 (Riccardo Magliocchetti)
  * fixup -Wformat-signedness warnings (Riccardo Magliocchetti)
  * Avoid strncpy from null in pyloader (Ben Kallus)
  * add clang to compile test matrix in ci (Riccardo Magliocchetti)

OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=126
2024-03-15 18:04:10 +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')