[PATCH] Avoid short relocation in x86_64 large code model

Rafael EspĂ­ndola rafael.espindola at gmail.com
Tue Nov 11 10:01:50 PST 2014


On 11 November 2014 03:08, Seo Sanghyeon <sanxiyn at gmail.com> wrote:
> ================
> Comment at: test/CodeGen/X86/code-model-eh-frame.ll:1
> @@ +1,2 @@
> +; RUN: llc < %s -filetype=obj -code-model=small \
> +; RUN:  | llvm-objdump -r - \
> ----------------
> rafael wrote:
>> You should be able to test this with llvm-mc, no?
> Can I? My first try used llvm-mc, but when I asked on IRC, someone (sorry, I don't remember who) answered I must pass -code-model to llc, not llvm-mc.

It is also available in llvm-mc. In fact, the original problem
reproduces with just

.cfi_startproc
        nop
.cfi_endproc

We produce a R_X86_64_PC32  even with -code-model=large. Having said
that, how are you hitting this? It looks like the gnu assembler
doesn't even have an option for enabling large code model and produces
a  R_X86_64_PC32 too.

Cheers,
Rafael



More information about the llvm-commits mailing list