This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[GCC 3.0]: exception frame info confuse OpenBSD as

In gcc 3.0, the frame info confuses 'as' badly on some OpenBSD platforms.
Namely, constructs such as

.lcomm _dwarf_reg_size_table,32
        .align 2,0x90
.globl __GLOBAL__F__Unwind_GetLanguageSpecificData
        .long   LECIE1-LSCIE1   ;# Length of Common Information Entry
        .long   0x0     ;# CIE Identifier Tag
        .byte   0x1     ;# CIE Version
        .ascii "zR\0"   ;# CIE Augmentation
        .byte   0x1     ;# uleb128 0x1; CIE Code Alignment Factor
        .byte   0x7c    ;# sleb128 -4; CIE Data Alignment Factor
        .byte   0x8     ;# CIE RA Column
        .byte   0x1     ;# uleb128 0x1; Augmentation size
        .byte   0x10    ;# FDE Encoding (pcrel)
        .byte   0xc     ;# DW_CFA_def_cfa
        .byte   0x5     ;# uleb128 0x5
        .byte   0x4     ;# uleb128 0x4
        .byte   0x88    ;# DW_CFA_offset, column 0x8
        .byte   0x1     ;# uleb128 0x1
        .align 2,0x90
        .long   LEFDE1-LASFDE1  ;# FDE Length
        .long   LASFDE1-___FRAME_BEGIN__        ;# FDE CIE offset
        .long   LFB1-.  ;# FDE initial location

don't work at all in pic mode.

        .long   LFB1-.  ;# FDE initial location
tries to create a relocation between a text label and a data position.

Our gas barfs on that.

First hand, by looking at dwarf2out.c, it seems that EH_FRAME_SECTION() 
is the knob to tweak to fix that.

But this does not work, because EH_FRAME_SECTION triggers quite a few other
things... !

In fact, what is needed is a knob to disable force_data_section () in

Am I missing something ? how to call such a knob ?
So far, I'm calling it EH_FORCE_DATA_SECTION, but that's probably a poor

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]