summaryrefslogblamecommitdiffstats
path: root/ftp/rsync/BUILD
blob: 1dce478cc1f7278afd9aa23091161b0bbf27011d (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
              














                                                                               

                
make_single &&

# LDFLAGS containing "-s" calls gcc and/or ld with "-s" which means --strip-all
# with current (2.36) binutils and perhaps earlier versions this causes
# relocation entries in the .rela.plt section of type R_X86_64_IRELATIV to be
# replaced with 0-entries having type R_X86_64_NONE (value 0). This breaks the
# STT_GNU_IFUNC mechanism used by certain shared libraries breaking the rsync
# binary. 
#
# Interestingly "strip -s" on the same binary which also is supposed to "strip
# all" does not show this behavior so it is somehow different from the behavior
# of ld. Perhaps it is a bug in binutils, though I was not able to find
# anything relevant.

LDFLAGS=${LDFLAGS//-s /-Wl,--strip-debug } &&
LDFLAGS=${LDFLAGS/%-s/-Wl,--strip-debug} &&
default_build &&
make_normal