https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61577

--- Comment #105 from C. Heide <cameron.heide at betasystems dot com> ---
It looks like that's already disabled on ia64 in 8.3 (I don't see any .text.hot
or .text.unlikely sections in any executables so far), which has the following:

ia64.c:
> /* Always default to .text section until HP-UX linker is fixed.  */
> 
> ATTRIBUTE_UNUSED static section *
> ia64_hpux_function_section (tree decl ATTRIBUTE_UNUSED,
>                             enum node_frequency freq ATTRIBUTE_UNUSED,
>                             bool startup ATTRIBUTE_UNUSED,
>                             bool exit ATTRIBUTE_UNUSED)
> {
>   return NULL;
> }
hpux.h:
> /* The HP-UX linker has a bug that causes calls from functions in
>    .text.unlikely to functions in .text to cause a segfault.  Until
>    it is fixed, prevent code from being put into .text.unlikely or
>    .text.hot.  */
> 
> #define TARGET_ASM_FUNCTION_SECTION ia64_hpux_function_section

The crash I'm currently stuck at is in stage2 libgcc configuration tests, where
even with a trivial "int main() { return 0; }" source file it produces:
> during RTL pass: mach
> conftest.c: In function 'main':
> conftest.c:4:1: internal compiler error: Segmentation fault
>  }
>  ^
> 0x4f18c2f crash_signal
>         ../../gcc/toplev.c:325
and if I reproduce it with cc1 under GDB, the call stack is:
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000007519d10 in ?? ()
> (gdb) where
> #0  0x0000000007519d10 in ?? ()
> #1  0x000000000657fda0 in remove (var=<optimized out>) at 
> ../../gcc/var-tracking.c:507
> #2  hash_table<variable_hasher, xcallocator>::~hash_table (this=<optimized 
> out>, __in_chrg=<optimized out>)
>     at ../../gcc/hash-table.h:625
> #3  0x0000000000000002 in ?? ()
> #4  0x0000000000000000 in ?? ()

I've been trying to gather more debug information, but I can't build with -O0
or I get the PCREL21B relocation errors at link, and GDB seems...quirky on
ia64.

Reply via email to