X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=fixincludes%2Finclhack.def;h=38021c33957ccd6c95d41bdff8cc5eef2890a9de;hp=9a72c0b6b255763938422257ccbb3e3502d4184b;hb=d92db5b602ed3b26125e63f59fb03eb3454e1576;hpb=1de34e084ee2bcaf9f6a3db0018fab74a79c8de2;ds=sidebyside diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 9a72c0b6b25..38021c33957 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -1872,6 +1872,23 @@ fix = { }; +/* The /usr/include/sys/ucontext.h on ia64-*linux-gnu systems defines + * an _SC_GR0_OFFSET macro using an idiom that isn't a compile time + * constant on recent versions of g++. + */ +fix = { + hackname = linux_ia64_ucontext; + files = "sys/ucontext.h"; + mach = "ia64-*-linux*"; + select = '\(\(\(char \*\) &\(\(struct sigcontext \*\) 0\)' + '->sc_gr\[0\]\) - \(char \*\) 0\)'; + c_fix = format; + c_fix_arg = "__builtin_offsetof \(struct sigcontext, sc_gr[0]\)"; + test_text = "# define _SC_GR0_OFFSET\t\\\\\n" + "\t(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)\n"; +}; + + /* * Apparently some SVR4 systems typedef longlong_t to long ? */