[gold][PATCH] PR gold/14608: --detect-odr-violations doesn't work with GCC 4.7 and newer
Cary Coutant
ccoutant@google.com
Mon Dec 22 17:51:00 GMT 2014
More information about the Binutils mailing list
Mon Dec 22 17:51:00 GMT 2014
- Previous message (by thread): [gold][PATCH] PR gold/14608: --detect-odr-violations doesn't work with GCC 4.7 and newer
- Next message (by thread): [gold][PATCH] PR gold/14608: --detect-odr-violations doesn't work with GCC 4.7 and newer
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> The debug_msg test has 2 implementations of SometimesInlineFunction:
>
> int SometimesInlineFunction(int i) { return i; }
> int SometimesInlineFunction(int i) { return i * i; }
>
> and One Definition Rule (ODR) violation detection expects they will be
> compiled into functions of different sizes. Hower, on x86, GCC 4.7 and
> newer compile them into functions of the same size and ODR violation
> detection test fails. This patch changes
>
> int SometimesInlineFunction(int i) { return i; }
>
> to
>
> int SometimesInlineFunction(int i) { return i * i * 3; }
>
> so that it will be compiled into a function of larger size. Tested on
> x86, x86-64 and x32. Hopefully, it works on other targets. I checked
> it in as an obvious fix.
>
> H.J.
> ---
> PR gold/14608
> * testsuite/debug_msg.cc (SometimesInlineFunction): Changed
> to "return i * i * 3;".
Thanks. I haven't seen this with GCC 4.8 on x86_64. The first,
compiled with -O0, has a size of 12, and the second, compiled with
-O2, has a size of 6.
-cary
- Previous message (by thread): [gold][PATCH] PR gold/14608: --detect-odr-violations doesn't work with GCC 4.7 and newer
- Next message (by thread): [gold][PATCH] PR gold/14608: --detect-odr-violations doesn't work with GCC 4.7 and newer
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list