fix segfault from canonicalize_file_name() when _GNU_SOURCE is not defined

see https://github.com/jackdoe/random/blob/master/broken/README.txt

use strict;
use Proc::ProcessTable;
my $x = "a" x 2000;
my @a = ();
for my $n(1..1100_000) {
    push @a,$x;
}
my $p = Proc::ProcessTable->new( 'cache_ttys' => 1 );
my $table = $p->table;

segfault is:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6a15e3c in _IO_vfprintf_internal (s=<value optimized out>, format=<value optimized out>, ap=<value optimized out>) at vfprintf.c:1641
1641		  process_string_arg (((struct printf_spec *) NULL));
Missing separate debuginfos, use: debuginfo-install perl5182-5.18.2-1.el6.x86_64
(gdb) bt

similar dump listed in: https://rt.cpan.org/Public/Bug/Display.html?id=99163
Merge pull request #8 from jackdoe/master

fix segfault from canonicalize_file_name() when _GNU_SOURCE is not defined