summaryrefslogblamecommitdiffstats
path: root/prebuilt/relink.sh
blob: 2dd56147e1d0634ede7ebf2849fdfead4d3e6a69 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                             
                                                                                                                                                                                                                                                                                                                                         












                                    
#!/bin/bash

process_file()
{
    dst=$1/$(basename $2)
    src=$2
    if [ $dst == $src ]; then
      cp -f -p $src $src.tmp
      src=$2.tmp
    else
      cp -f -p $src $dst
    fi

    sed "s|/system/bin/linker64\x0|/sbin/linker64\x0\x0\x0\x0\x0\x0\x0|g" $src | sed "s|/system/bin/linker\x0|/sbin/linker\x0\x0\x0\x0\x0\x0\x0|g" | sed "s|/system/bin/sh\x0|/sbin/sh\x0\x0\x0\x0\x0\x0\x0|g" | sed "s|/system/lib64\x0|/sbin\x0\x0\x0\x0\x0\x0\x0\x0\x0|g" | sed "s|/system/lib\x0|/sbin\x0\x0\x0\x0\x0\x0\x0|g" > $dst

    if [ $1 == $(dirname $2) ]; then
      rm -f $src
    fi
}


dest=$1
shift 1
for ARG in $*
do
    process_file $dest $ARG
done