sparc: Fix piggyback with newer binutils.
Newer versions of binutils mark '_end' as 'B' instead of 'A' for whatever reason. To be honest, the piggyback code doesn't actually care what kind of symbol _start and _end are, it just wants to find them and record the address. So remove the type from the match strings. Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
de7531e857
commit
0032c85745
1 changed files with 6 additions and 6 deletions
|
@ -81,18 +81,18 @@ static void usage(void)
|
||||||
|
|
||||||
static int start_line(const char *line)
|
static int start_line(const char *line)
|
||||||
{
|
{
|
||||||
if (strcmp(line + 8, " T _start\n") == 0)
|
if (strcmp(line + 10, " _start\n") == 0)
|
||||||
return 1;
|
return 1;
|
||||||
else if (strcmp(line + 16, " T _start\n") == 0)
|
else if (strcmp(line + 18, " _start\n") == 0)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int end_line(const char *line)
|
static int end_line(const char *line)
|
||||||
{
|
{
|
||||||
if (strcmp(line + 8, " A _end\n") == 0)
|
if (strcmp(line + 10, " _end\n") == 0)
|
||||||
return 1;
|
return 1;
|
||||||
else if (strcmp (line + 16, " A _end\n") == 0)
|
else if (strcmp (line + 18, " _end\n") == 0)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -100,8 +100,8 @@ static int end_line(const char *line)
|
||||||
/*
|
/*
|
||||||
* Find address for start and end in System.map.
|
* Find address for start and end in System.map.
|
||||||
* The file looks like this:
|
* The file looks like this:
|
||||||
* f0004000 T _start
|
* f0004000 ... _start
|
||||||
* f0379f79 A _end
|
* f0379f79 ... _end
|
||||||
* 1234567890123456
|
* 1234567890123456
|
||||||
* ^coloumn 1
|
* ^coloumn 1
|
||||||
* There is support for 64 bit addresses too.
|
* There is support for 64 bit addresses too.
|
||||||
|
|
Loading…
Add table
Reference in a new issue