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:
David S. Miller 2012-12-03 11:24:25 -08:00
parent de7531e857
commit 0032c85745

View file

@ -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.