It is a different failure.  There are 3 problems:

1. Hard coded 64-bit registers for pointers in x86-64 asm statements.
2. Treat WORD_SIZE == 32 as ia32 for machine state on x86-64.
3. On x86-64, assume ia32 FS system calls when LP64 is false.

H.J.
On Mon, Nov 4, 2013 at 10:35 PM, Konstantin Serebryany
<konstantin.s.serebry...@gmail.com> wrote:
> Is this the same failure or different?
>
> On Mon, Nov 4, 2013 at 9:49 PM, H.J. Lu <hjl.to...@gmail.com> wrote:
>> It also breaks x32 build.
>>
>>
>> On Mon, Nov 4, 2013 at 5:48 PM, Konstantin Serebryany
>> <konstantin.s.serebry...@gmail.com> wrote:
>>> Hi Peter.
>>> Does this also mean that asan in llvm trunk is broken for Power?
>>> We'll need to fix it there too (or, in fact, first).
>>>
>>> --kcc
>>>
>>> On Mon, Nov 4, 2013 at 4:33 PM, Peter Bergner <berg...@vnet.ibm.com> wrote:
>>>> On Mon, 2013-11-04 at 06:47 -0800, Konstantin Serebryany wrote:
>>>>> This patch has not been tested on Mac and we generally do not claim
>>>>> that gcc-asan is supported on Mac.
>>>>> clang-asan *is* supported on Mac and our bots are green (this patch is
>>>>> a merge of the sources which are regularly tested on Mac,
>>>>> but the build procedure is different).
>>>>
>>>> The merge from upstream r191666 seems to have broken my
>>>> powerpc64-linux build.  I'm seeing:
>>>>
>>>> In file included from 
>>>> /home/bergner/gcc/gcc-fsf-mainline-base/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:21:0:
>>>> /usr/include/asm/stat.h:31:2: error: ‘ino_t’ does not name a type
>>>>   ino_t  st_ino;
>>>>   ^
>>>> /usr/include/asm/stat.h:33:2: error: ‘nlink_t’ does not name a type
>>>>   nlink_t  st_nlink;
>>>>   ^
>>>> /usr/include/asm/stat.h:34:2: error: ‘mode_t’ does not name a type
>>>>   mode_t  st_mode;
>>>>   ^
>>>> /usr/include/asm/stat.h:39:2: error: ‘uid_t’ does not name a type
>>>>   uid_t  st_uid;
>>>>   ^
>>>> /usr/include/asm/stat.h:40:2: error: ‘gid_t’ does not name a type
>>>>   gid_t  st_gid;
>>>>   ^
>>>> /usr/include/asm/stat.h:42:2: error: ‘off_t’ does not name a type
>>>>   off_t  st_size;
>>>>   ^
>>>> /home/bergner/gcc/gcc-fsf-mainline-base/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:29:73:
>>>>  error: invalid application of ‘sizeof’ to incomplete type 
>>>> ‘__sanitizer::__old_kernel_stat’
>>>>    unsigned struct___old_kernel_stat_sz = sizeof(struct __old_kernel_stat);
>>>>                                                                          ^
>>>> The problem seems to be that the RHEL6 system I am on, the linux/types.h
>>>> kernel header file doesn't define ino_t like it does on newer systems
>>>> which leads to the undefined type errors.  Digging through the other kernel
>>>> header files, I'm not really seeing another header file I can include
>>>> to get it either. :(
>>>>
>>>> Peter
>>>>
>>>>
>>
>>
>>
>> --
>> H.J.



-- 
H.J.

Reply via email to