commit librsync for openSUSE:Factory
![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package librsync for openSUSE:Factory checked in at 2014-09-20 15:49:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/librsync (Old) and /work/SRC/openSUSE:Factory/.librsync.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "librsync" Changes: -------- --- /work/SRC/openSUSE:Factory/librsync/librsync.changes 2014-05-16 17:56:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.librsync.new/librsync.changes 2014-09-20 15:49:48.000000000 +0200 @@ -1,0 +2,10 @@ +Sat Sep 13 03:42:42 UTC 2014 - crrodriguez@opensuse.org + +- Library ends compiled with executable stack, something we really + do not want around.. it turns out a nested function causes gcc + to emit trampolines. fix that (librsync-noexecstack-nestedfunc.patch) + +- Only export the public api, all symbols prefixed with "rs_" + (librsync-exports.patch) + +------------------------------------------------------------------- New: ---- librsync-exports.patch librsync-noexecstack-nestedfunc.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ librsync.spec ++++++ --- /var/tmp/diff_new_pack.6XVoEQ/_old 2014-09-20 15:49:49.000000000 +0200 +++ /var/tmp/diff_new_pack.6XVoEQ/_new 2014-09-20 15:49:49.000000000 +0200 @@ -32,6 +32,8 @@ Patch4: librsync-man-example.diff Patch5: librsync-serial-tests.patch Patch6: librsync-0.9.7-getopt.patch +Patch7: librsync-exports.patch +Patch8: librsync-noexecstack-nestedfunc.patch BuildRequires: libbz2-devel BuildRequires: libtool BuildRequires: popt-devel @@ -84,10 +86,11 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 - -autoreconf -fvi +%patch7 -p1 +%patch8 -p1 %build +autoreconf -fvi %configure \ --enable-shared \ --disable-static \ ++++++ librsync-exports.patch ++++++ --- librsync-0.9.7.orig/Makefile.am +++ librsync-0.9.7/Makefile.am @@ -47,7 +47,7 @@ librsync_la_SOURCES = prototab.c protot librsync_la_LIBADD = @LIBOBJS@ -librsync_la_LDFLAGS = -version-info @librsync_libversion@ +librsync_la_LDFLAGS = -export-symbols-regex '^rs_' -no-undefined -version-info @librsync_libversion@ # This is the default for any programs that don't specify a preference. LDADD = librsync.la ++++++ librsync-noexecstack-nestedfunc.patch ++++++ --- librsync-0.9.7.orig/search.c +++ librsync-0.9.7/search.c @@ -54,29 +54,30 @@ #define gettag2(s1,s2) (((s1) + (s2)) & 0xFFFF) #define gettag(sum) gettag2((sum)&0xFFFF,(sum)>>16) + +static int rs_compare_targets(void const *a1, void const *a2, void *arg) +{ + rs_target_t const *t1 = a1; + rs_target_t const *t2 = a2; + rs_signature_t const *sums = arg; + + int v = (int) t1->t - (int) t2->t; + if (v != 0) + return v; + + rs_weak_sum_t w1 = sums->block_sigs[t1->i].weak_sum; + rs_weak_sum_t w2 = sums->block_sigs[t2->i].weak_sum; + + v = (w1 > w2) - (w1 < w2); + if (v != 0) + return v; + + return memcmp(sums->block_sigs[t1->i].strong_sum, sums->block_sigs[t2->i].strong_sum, sums->strong_sum_len); +} + rs_result rs_build_hash_table(rs_signature_t * sums) { - int rs_compare_targets(void const *a1, void const *a2) { - rs_target_t const *t1 = a1; - rs_target_t const *t2 = a2; - - int v = (int) t1->t - (int) t2->t; - if (v != 0) - return v; - - rs_weak_sum_t w1 = sums->block_sigs[t1->i].weak_sum; - rs_weak_sum_t w2 = sums->block_sigs[t2->i].weak_sum; - - v = (w1 > w2) - (w1 < w2); - if (v != 0) - return v; - - return memcmp(sums->block_sigs[t1->i].strong_sum, - sums->block_sigs[t2->i].strong_sum, - sums->strong_sum_len); - } - int i; sums->tag_table = calloc(TABLE_SIZE, sizeof(sums->tag_table[0])); @@ -96,9 +97,9 @@ rs_build_hash_table(rs_signature_t * sum sums->targets[i].t = gettag(sums->block_sigs[i].weak_sum); } - qsort(sums->targets, sums->count, + qsort_r(sums->targets, sums->count, sizeof(sums->targets[0]), - rs_compare_targets); + rs_compare_targets, sums); } for (i = 0; i < TABLE_SIZE; i++) { -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de