aix: handle 64bit inodes for include directories
authorClément Chigot <clement.chigot@atos.net>
Thu, 6 May 2021 14:08:15 +0000 (16:08 +0200)
committerClément Chigot <clement.chigot@atos.net>
Wed, 12 Jan 2022 15:59:47 +0000 (16:59 +0100)
commit14e0d8329750776a1807626867f87dacc102f9ed
tree00e766cd37adf3fed25f88ea34bebfd9981aa488
parent75845d584f490c294d40908168e5721adc38145d
aix: handle 64bit inodes for include directories

On AIX, stat will store inodes in 32bit even when using LARGE_FILES.
If the inode is larger, it will return -1 in st_ino.
Thus, in incpath.c when comparing include directories, if several
of them have 64bit inodes, they will be considered as duplicated.

gcc/ChangeLog:
2022-01-12  Clément Chigot  <clement.chigot@atos.net>

* configure.ac: Check sizeof ino_t and dev_t.
(HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
syscall being able to handle 64bit inodes.
* config.in: Regenerate.
* configure: Regenerate.
* incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
(remove_duplicates): Use it.

libcpp/ChangeLog:
2022-01-12  Clément Chigot  <clement.chigot@atos.net>

* configure.ac: Check sizeof ino_t and dev_t.
* config.in: Regenerate.
* configure: Regenerate.
* include/cpplib.h (INO_T_CPP): Change for AIX.
(DEV_T_CPP): New macro.
(struct cpp_dir): Use it.
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/incpath.c
libcpp/config.in
libcpp/configure
libcpp/configure.ac
libcpp/include/cpplib.h