X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=sboot%2Fmagpie_1_1%2Fsboot%2Fathos%2Fsrc%2Fxtos%2Ftextaddr;fp=sboot%2Fmagpie_1_1%2Fsboot%2Fathos%2Fsrc%2Fxtos%2Ftextaddr;h=be4e301336236dfa70b40410b13dff644cf9b097;hb=ff66305a044be28464fa0969ea2d605bb268d478;hp=0000000000000000000000000000000000000000;hpb=60b496560eec004ded92ae4dad43b3d102c6658d;p=open-ath9k-htc-firmware.git diff --git a/sboot/magpie_1_1/sboot/athos/src/xtos/textaddr b/sboot/magpie_1_1/sboot/athos/src/xtos/textaddr new file mode 100755 index 0000000..be4e301 --- /dev/null +++ b/sboot/magpie_1_1/sboot/athos/src/xtos/textaddr @@ -0,0 +1,59 @@ +# Program to determine -Ttext parameter for ld +# $Id: //depot/rel/Cottonwood/Xtensa/OS/xtos/textaddr#2 $ + +# Copyright (c) 2001 Tensilica Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +package textaddr; + +use strict; +use FileHandle; + +{ + $::myname = 'textaddr'; + + die("Usage is: $::myname objfile label address\n") + unless @ARGV == 3; + my($objfile, $label, $address) = @ARGV; + + + my $nm = new FileHandle "xt-nm $objfile|"; + die("$::myname: $!, opening pipe to xt-nm $objfile.\n") + unless $nm; + while (<$nm>) { + if (/^([0-9a-f]{8}) . (\w+)$/) { + my $oaddress = $1; + my $olabel = $2; + if ($olabel eq $label) { + printf ("0x%x\n", hex($address) - hex($oaddress)); + exit(0); + } + } + } + die ("$::myname: $label not found in $objfile.\n"); +} + +# +# Local Variables: +# mode:perl +# perl-indent-level:2 +# cperl-indent-level:2 +# End: