28 lines
548 B
Bash
Executable File
28 lines
548 B
Bash
Executable File
#!/bin/bash
|
|
# syntax: add_rodata_ld.sh /path/to/esp32.project.ld /path/to/snippet_file
|
|
set -eu
|
|
ldfile="$1"
|
|
partial="$2"
|
|
out="${ldfile}.new"
|
|
IFS='
|
|
'
|
|
msg="/* NodeMCU patched */"
|
|
if [[ $(head -n 1 "$ldfile") =~ "$msg" ]]
|
|
then
|
|
echo "NodeMCU rodata already patched into $(basename $ldfile)"
|
|
exit 0
|
|
else
|
|
echo "Patching in NodeMCU rodata into $(basename $ldfile)"
|
|
echo "$msg" > "$out"
|
|
fi
|
|
|
|
cat "$ldfile" | while read line
|
|
do
|
|
if [[ $line =~ "drom0_0_seg" ]]
|
|
then
|
|
cat "$partial" >> "$out"
|
|
fi
|
|
echo $line >> "$out"
|
|
done
|
|
mv "$out" "$ldfile"
|