https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61967

--- Comment #5 from Дилян Палаузов <dilyan.palauzov at aegee dot org> ---
Using gcc-ar instead of ar does not help:

$grep AR\ = Makefile
AR = gcc-ar
...
$rm gnu/libgnu.a

$make V=1

make[4]: Entering directory '/mnt/new/src/tar-1.28/gnu'
rm -f libgnu.a
gcc-ar cru libgnu.a copy-acl.o set-acl.o allocator.o areadlink.o areadlinkat.o
argmatch.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-fs-xinl.o argp-help.o
argp-parse.o argp-pin.o argp-pv.o argp-pvh.o argp-xinl.o argp-version-etc.o
backupfile.o bitrotate.o c-ctype.o c-strcasecmp.o c-strncasecmp.o
careadlinkat.o cloexec.o close-stream.o closeout.o opendir-safer.o dirname.o
basename.o dirname-lgpl.o basename-lgpl.o stripslash.o exclude.o exitfail.o
chmodat.o chownat.o fd-hook.o fdutimensat.o filenamecat-lgpl.o fprintftime.o
full-write.o gettime.o hash.o human.o imaxtostr.o inttostr.o offtostr.o
uinttostr.o umaxtostr.o localcharset.o malloca.o mbchar.o mbscasecmp.o
mbuiter.o modechange.o openat-die.o parse-datetime.o priv-set.o progname.o
acl-errno-valid.o file-has-acl.o qcopy-acl.o qset-acl.o quotearg.o safe-read.o
safe-write.o save-cwd.o savedir.o se-context.o se-selinux.o stat-time.o
statat.o strftime.o strnlen1.o tempname.o timespec.o unistd.o dup-safer.o
fd-safer.o pipe-safer.o uniwidth/width.o unlinkdir.o utimens.o version-etc.o
version-etc-fsf.o wctype-h.o xmalloc.o xalloc-die.o xgetcwd.o xsize.o
xstrndup.o xstrtol.o xstrtoul.o xstrtol-error.o xstrtoumax.o xvasprintf.o
xasprintf.o asnprintf.o chdir-long.o fcntl.o futimens.o getopt.o getopt1.o
linkat.o openat-proc.o printf-args.o printf-parse.o regex.o selinux-at.o
utimensat.o vasnprintf.o
ranlib libgnu.a
make[4]: Leaving directory '/mnt/new/src/tar-1.28/gnu'

...
make[2]: Entering directory '/mnt/new/src/tar-1.28/rmt'
gcc -std=gnu99  -pipe -flto -O3 -Wl,-S -Wl,--hash-style=gnu -Wl,-O1
-Wl,-z,relro  -L/usr/lib64 -L/lib64 -o rmt rmt.o ../gnu/libgnu.a
/tmp/ccpoLHOH.ltrans0.ltrans.o: In function `close_device':
ccpoLHOH.ltrans0.o:(.text+0x3b4): undefined reference to `umaxtostr'
/tmp/ccpoLHOH.ltrans0.ltrans.o: In function `main':
ccpoLHOH.ltrans0.o:(.text.startup+0x1a): undefined reference to
`set_program_name'
ccpoLHOH.ltrans0.o:(.text.startup+0x29): undefined reference to
`argp_version_setup'
ccpoLHOH.ltrans0.o:(.text.startup+0x1c4): undefined reference to `umaxtostr'
ccpoLHOH.ltrans0.o:(.text.startup+0x1e7): undefined reference to `full_write'
ccpoLHOH.ltrans0.o:(.text.startup+0x245): undefined reference to `safe_read'
ccpoLHOH.ltrans0.o:(.text.startup+0x25f): undefined reference to `umaxtostr'
ccpoLHOH.ltrans0.o:(.text.startup+0x282): undefined reference to `full_write'
ccpoLHOH.ltrans0.o:(.text.startup+0x295): undefined reference to `xstrdup'
ccpoLHOH.ltrans0.o:(.text.startup+0x3f8): undefined reference to `umaxtostr'
ccpoLHOH.ltrans0.o:(.text.startup+0x7cc): undefined reference to `umaxtostr'
ccpoLHOH.ltrans0.o:(.text.startup+0x860): undefined reference to `full_write'
ccpoLHOH.ltrans0.o:(.text.startup+0x89a): undefined reference to `xrealloc'
ccpoLHOH.ltrans0.o:(.text.startup+0x8c6): undefined reference to `xrealloc'
collect2: error: ld returned 1 exit status
Makefile:1266: recipe for target 'rmt' failed
make[2]: *** [rmt] Error 1
make[2]: Leaving directory '/mnt/new/src/tar-1.28/rmt'
Makefile:1348: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/mnt/new/src/tar-1.28'
Makefile:1287: recipe for target 'all' failed
make: *** [all] Error 2

Reply via email to