ld: optimize vfinfo output slightly
authorMike Frysinger <vapier@gentoo.org>
Tue, 3 Apr 2012 03:37:26 +0000 (03:37 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 3 Apr 2012 03:37:26 +0000 (03:37 +0000)
commit23916fffce6bac40347fc5a061c9e073e462f943
tree85aeab61cb42c3ca488bac57d9500e93475fbf29
parentb1c0804b2ea1532cab67ae4d7b288b8e013615c5
ld: optimize vfinfo output slightly

ld atm ends up calling the write() syscall on every char when displaying
an error message.  For example:
$ echo 'main(){foo();}' | strace -f -ewrite gcc -x c -o /dev/null -
...
[pid 13035] write(2, ":", 1)            = 1
[pid 13035] write(2, " ", 1)            = 1
[pid 13035] write(2, "I", 1)            = 1
[pid 13035] write(2, "n", 1)            = 1
[pid 13035] write(2, " ", 1)            = 1
[pid 13035] write(2, "f", 1)            = 1
[pid 13035] write(2, "u", 1)            = 1
[pid 13035] write(2, "n", 1)            = 1
[pid 13035] write(2, "c", 1)            = 1
[pid 13035] write(2, "t", 1)            = 1
[pid 13035] write(2, "i", 1)            = 1
[pid 13035] write(2, "o", 1)            = 1
[pid 13035] write(2, "n", 1)            = 1
[pid 13035] write(2, " ", 1)            = 1
[pid 13035] write(2, "`", 1)            = 1
...

That's just to write ": In function `main':".  A slight optimization in
the vfinfo() func gives a much more reasonable syscall footprint:
...
write(2, ": In function `", 15)         = 15
...

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
ld/ChangeLog
ld/ldmisc.c