X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fembedspu.sh;h=6a0fbea3d1df644d43068b58d9a36b95e09f78f9;hb=2d0a923cc653b76a531651c9f4b026a0ae366858;hp=6611172814e62a9d58692c7d705a3579eeab006c;hpb=daaf07b2446eb0cb4d2c4f387b0819214c0e2a07;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/embedspu.sh b/binutils/embedspu.sh index 6611172814..6a0fbea3d1 100644 --- a/binutils/embedspu.sh +++ b/binutils/embedspu.sh @@ -1,13 +1,13 @@ -#! /bin/sh +#! /bin/sh # Embed an SPU ELF executable into a PowerPC object file. # -# Copyright 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file is part of GNU Binutils. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, @@ -119,6 +119,7 @@ main () toe=`${READELF} -S ${INFILE} | sed -n -e 's, *\[ *\([0-9]*\)\] *\.toe *[PROGN]*BITS *\([0-9a-f]*\).*,\1 \2,p'` toe_addr=`echo $toe | sed -n -e 's,.* ,,p'` toe=`echo $toe | sed -n -e 's, .*,,p'` + has_ea=`${READELF} -S ${INFILE} | sed -n -e 's, *\[ *\([0-9]*\)\] *\._ea *PROGBITS.*,\1,p'` # For loaded sections, pick off section number, address, and file offset sections=`${READELF} -S ${INFILE} | sed -n -e 's, *\[ *\([0-9]*\)\] *[^ ]* *PROGBITS *\([0-9a-f]*\) *\([0-9a-f]*\).*,\1 \2 \3,p'` sections=`echo ${sections}` @@ -138,20 +139,20 @@ main () # sections. # Find all _EAR_ symbols in .toe using readelf, sort by address, and # write the address of the corresponding PowerPC symbol in a table - # built in .data.spetoe. For _EAE_ symbols not in .toe, create + # built in .data.spetoe. For _EAR_ symbols not in .toe, create # .reloc commands to relocate their location directly. # 3. Look for R_SPU_PPU32 and R_SPU_PPU64 relocations in the SPU ELF image # and create .reloc commands for them. # 4. Write a struct spe_program_handle to .data. # 5. Write a table of _SPUEAR_ symbols. ${CC} ${FLAGS} -x assembler-with-cpp -nostartfiles -nostdlib \ - -Wa,-mbig -Wl,-r -Wl,-x -o ${OUTFILE} - <