openwrt/tools/mklibs/patches/003-no_copy.patch

51 lines
2.4 KiB
Diff

--- a/src/mklibs
+++ b/src/mklibs
@@ -440,7 +440,7 @@ while 1:
passnr = passnr + 1
# Gather all already reduced libraries and treat them as objects as well
small_libs = []
- for lib in regexpfilter(os.listdir(dest_path), "(.*-so-stripped)$"):
+ for lib in regexpfilter(os.listdir(dest_path), "(.*-so)$"):
obj = dest_path + "/" + lib
small_libs.append(obj)
inode = os.stat(obj)[ST_INO]
@@ -552,12 +552,7 @@ while 1:
if not so_file:
sys.exit("File not found:" + library)
pic_file = find_pic(library)
- if not pic_file:
- # No pic file, so we have to use the .so file, no reduction
- debug(DEBUG_VERBOSE, "No pic file found for", so_file, "; copying")
- command(target + "objcopy", "--strip-unneeded -R .note -R .comment",
- so_file, dest_path + "/" + so_file_name + "-so-stripped")
- else:
+ if pic_file:
# we have a pic file, recompile
debug(DEBUG_SPAM, "extracting from:", pic_file, "so_file:", so_file)
soname = extract_soname(so_file)
@@ -600,22 +595,14 @@ while 1:
cmd.append(library_depends_gcc_libnames(so_file))
command(target + "gcc", *cmd)
- # strip result
- command(target + "objcopy", "--strip-unneeded -R .note -R .comment",
- dest_path + "/" + so_file_name + "-so",
- dest_path + "/" + so_file_name + "-so-stripped")
## DEBUG
debug(DEBUG_VERBOSE, so_file, "\t", `os.stat(so_file)[ST_SIZE]`)
debug(DEBUG_VERBOSE, dest_path + "/" + so_file_name + "-so", "\t",
`os.stat(dest_path + "/" + so_file_name + "-so")[ST_SIZE]`)
- debug(DEBUG_VERBOSE, dest_path + "/" + so_file_name + "-so-stripped",
- "\t", `os.stat(dest_path + "/" + so_file_name + "-so-stripped")[ST_SIZE]`)
# Finalising libs and cleaning up
-for lib in regexpfilter(os.listdir(dest_path), "(.*)-so-stripped$"):
- os.rename(dest_path + "/" + lib + "-so-stripped", dest_path + "/" + lib)
-for lib in regexpfilter(os.listdir(dest_path), "(.*-so)$"):
- os.remove(dest_path + "/" + lib)
+for lib in regexpfilter(os.listdir(dest_path), "(.*)-so$"):
+ os.rename(dest_path + "/" + lib + "-so", dest_path + "/" + lib)
# Canonicalize library names.
for lib in regexpfilter(os.listdir(dest_path), "(.*so[.\d]*)$"):