On Mon, Sep 5, 2011 at 11:49, Paul Eggert <[email protected]> wrote:

> Thanks.  There's still something fishy going on,
> since the truss output is acting like we are never
> calling openat.
>
> Can you please send a copy of your config.h?  I want
> to verify that HAVE_OPENAT and related macros are set.
>

config.h.gz attatched.


> Also, can you please verify that gnu/openat.c is being
> compiled and the result is being linked into 'tar'?
>

It's definately being compiled ...
-rw-r--r--    1 xxxxxx   xxxxxxxx       8544 Sep  5 11:27 gnu/openat.c
-rw-r--r--    1 xxxxxx   xxxxxxxx       1572 Sep  5 11:28 gnu/openat.o
-rw-r--r--    1 xxxxxx   xxxxxxxx       1770 Sep  5 11:28 gnu/openat-die.o
-rw-r--r--    1 xxxxxx   xxxxxxxx       2024 Sep  5 11:28 gnu/openat-proc.o

$ rm src/tar
$ gmake -n
...
echo "  CCLD  " tar;xlc  -O2 -qarch=ppc -D_LINUX_SOURCE_COMPAT   -o tar
buffer.o checkpoint.o compare.o create.o delete.o exit.o extract.o xheader.o
incremen.o list.o misc.o names.o sparse.o suffix.o system.o tar.o
transform.o unlink.o update.o utf8.o warning.o ../lib/libtar.a
../gnu/libgnu.a  -liconv
...

Must be in libgnu.a if it's included ...
$ rm gnu/libgnu.a
$ gmake -n
...
echo "  AR    " libgnu.a;ar cru libgnu.a 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 c-ctype.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 fd-hook.o
fdutimensat.o filenamecat-lgpl.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 modechange.o openat-die.o parse-datetime.o
priv-set.o progname.o quote.o quotearg.o safe-read.o safe-write.o save-cwd.o
savedir.o strnlen1.o tempname.o dup-safer.o fd-safer.o pipe-safer.o
uniwidth/width.o unlinkdir.o utimens.o version-etc.o version-etc-fsf.o
xmalloc.o xalloc-die.o xgetcwd.o xstrndup.o xstrtol.o xstrtoul.o
xstrtol-error.o xstrtoumax.o xvasprintf.o xasprintf.o asnprintf.o asprintf.o
at-func2.o canonicalize-lgpl.o chdir-long.o chown.o error.o fchownat.o
fcntl.o float.o fnmatch.o fpending.o fstatat.o getcwd.o getcwd-lgpl.o
getdelim.o getline.o getopt.o getopt1.o lchown.o link.o linkat.o lstat.o
mbrtowc.o mbsinit.o mbsrtowcs.o mbsrtowcs-state.o mempcpy.o memrchr.o
mkfifo.o mknod.o mktime.o obstack.o open.o *openat.o* openat-proc.o
printf-args.o printf-parse.o rawmemchr.o regex.o rename.o renameat.o stat.o
strchrnul.o symlink.o unlink.o unlinkat.o vasnprintf.o vasprintf.o wcrtomb.o
ranlib libgnu.a
$

So yes, it's being compiled and included.


> Can you send the assembly-language output for openat.c?
> Typically this can be done by compiling with -S rather
> than with -c (all other options being the same).
>

tar-1.26-experimental$ cd gnu
gnu$ xlc -DHAVE_CONFIG_H -I. -I.. -I../intl -S -o openat.as openat.c

openat.as.gz attached

-- 
# include <stddisclaimer.h>
/* Kevin  Brott <[email protected]> */

Attachment: config.h.gz
Description: GNU Zip compressed data

Attachment: openat.as.gz
Description: GNU Zip compressed data

Reply via email to