|
@@ -12,16 +12,29 @@ shift
|
|
|
|
|
|
rm -f "${OUTPUT_FILE}"
|
|
|
|
|
|
-while (( "$#" >= 2)); do
|
|
|
+while (( "$#" >= 3 )); do
|
|
|
SECTION_NAME="$1"
|
|
|
INPUT_FILE="$2"
|
|
|
+ FILE_SIZE="$3"
|
|
|
|
|
|
{
|
|
|
- printf ' .section %s\n' "${SECTION_NAME}"
|
|
|
- printf ' .type %s, @object\n' "${SECTION_NAME}"
|
|
|
+ printf ' .file "%s"\n' "${OUTPUT_FILE}"
|
|
|
+ printf ' .data\n'
|
|
|
+ printf ' .section %s, "a", @progbits\n' "${SECTION_NAME}"
|
|
|
printf ' .align 4\n'
|
|
|
+ printf ' .globl %s\n' "${SECTION_NAME}_start"
|
|
|
+ printf ' .type %s, @object\n' "${SECTION_NAME}_start"
|
|
|
+ printf ' .size %s, 4\n' "${SECTION_NAME}_start"
|
|
|
+ printf '%s:\n' "${SECTION_NAME}_start"
|
|
|
printf ' .incbin "%s"\n' "${INPUT_FILE}"
|
|
|
+ printf ' .section serenity_embedded_resource_info, "a", @progbits\n'
|
|
|
+ printf ' .align 4\n'
|
|
|
+ printf ' .globl %s\n' "${SECTION_NAME}_size"
|
|
|
+ printf ' .type %s, @object\n' "${SECTION_NAME}_size"
|
|
|
+ printf ' .size %s, 4\n' "${SECTION_NAME}_size"
|
|
|
+ printf '%s:\n' "${SECTION_NAME}_size"
|
|
|
+ printf ' .long %s\n' "${FILE_SIZE}"
|
|
|
printf '\n'
|
|
|
} >> "${OUTPUT_FILE}"
|
|
|
- shift 2
|
|
|
+ shift 3
|
|
|
done
|