search for: jmpl

Displaying 8 results from an estimated 8 matches for "jmpl".

Did you mean: jmp
2017 Feb 08
3
Linking Linux kernel with LLD
...objdump flags?) > >Regards, >Dmitry Just want to share latest results of investigation from my side. I traced kernel linked with LLD to find where it fails. LLD linked kernel starts execution and then I came up to protected_mode_jump? function, which intention to jump to startup_64: jmpl *%eax # Jump to the 32-bit entrypoint (https://github.com/torvalds/linux/blob/5924bbecd0267d87c24110cbe2041b5075173a25/arch/x86/boot/pmjump.S#L76) (https://github.com/torvalds/linux/blob/5924bbecd0267d87c24110cbe2041b5075173a25/arch/x86/kernel/head_64.S#L48) It does not happen. Code executes right...
2002 Aug 26
3
Question about memdisk
...n into problems in the first printf statement. It turns out that printf uses a switch statement that compiles into a jump table. When I reach this jump table, I believe the code is jumping into hyperspace due to the jump table using long addresses. The jump into the jump table is the instruction: jmpl 0x2220(,%eax,4) If you have a moment, can you give me a clue as to what is happening here? Thanks for your help. Gregg
2011 Sep 26
1
[LLVMdev] distinguishing between real arguments and variable arguments
...D: return 2; } } In Sparc: void Filler::insertCallUses(MachineBasicBlock::iterator MI, SmallSet<unsigned, 32>& RegUses) { switch(MI->getOpcode()) { default: llvm_unreachable("Unknown opcode."); case SP::CALL: break; case SP::JMPLrr: case SP::JMPLri: assert(MI->getNumOperands() >= 2); const MachineOperand &Reg = MI->getOperand(0); assert(Reg.isReg() && "JMPL first operand is not a register."); assert(Reg.isUse() && "JMPL first operand is not a use.");...
2017 Jan 27
2
llvm return value propagation & asm
...!srcloc !10106 // this returns in eax ret i32 0, !dbg !10104 } ; Function Attrs: naked noinline optnone define void @jumptocont(i32, i32, i32) #3 !dbg !10107 { BasicBlock8473: call void asm "\0D\0A movl 12(%esp), %ebp\0D\0A movl 4(%esp), %eax\0D\0A movl 8(%esp), %esp\0D\0A jmpl *%eax\0D\0A", ""(), !dbg !10108, !srcloc !10110 ret void, !dbg !10108 } The calling code is like; %530 = call i32 @callcatch(i32 %528, i32 %529) #3, !dbg !7648 store i32 %530, i32* %20, !dbg !7648 %531 = load i32, i32* %20, !dbg !7630 ... call void @jumptocont(i32 %5...
2017 Feb 03
3
Linking Linux kernel with LLD
On Thu, Feb 2, 2017 at 12:38 AM, George Rimar <grimar at accesssoftek.com> wrote: > >As far as the setup, I would recommend setting up qemu for actually > running the LLD-linked kernel and custom bootloader etc. because then you > can have a single >script that rebuilds the bootloader and kernel and > copies the files to the VM. This reduces iteration time significantly.
2015 Feb 20
3
[LLVMdev] clang .code16 with -Os producing larger code that it needs to
When experimenting with compiling GRUB2 with clang using integrated as, I found out that it generates a 16-bit code bigger than gas counterpart and result gets too big for size constraints of bootsector. This was traced mainly to 2 problems. 32-bit access to 16-bit addresses. source: movl LOCAL(kernel_sector), %ebx movl %ebx, 8(%si) clang: 7cbc: 67 66 8b 1d 5c 7c 00 addr32 mov 0x7c5c,%ebx
2012 Mar 20
0
[LLVMdev] Runtime linker issue wtih X11R6 on i386 with -O3 optimization
...jdump -R liba.so | grep ex_func 2000211c R_386_GLOB_DAT ex_func 20002108 R_386_JUMP_SLOT ex_func Now in the asm here we can see that in the TAILCALL case the ex_func is looked up in GOT. $ grep ex_func a.s calll ex_func at PLT movl ex_func at GOT(%esi), %eax ... jmpl *%eax # TAILCALL I am aware that this might turn a bit religous however I think that always looking up the function pointer in PLT would eliminate this issue. I don't see a benefit of using the GOT in this particular case. The asm of both cases is reproduced at the end of...
2013 Jun 24
1
[LLVMdev] DebugInfo: Missing non-trivially-copyable parameters in SelectionDAG
...lvm/build/clang/debug/bin/./FileCheck /usr/local/google/home/blaikie/dev/llvm/src/test/CodeGen/X86/sibcall-2.ll -check-prefix=64 -- Exit Code: 1 Command Output (stderr): -- /usr/local/google/home/blaikie/dev/llvm/src/test/CodeGen/X86/sibcall-2.ll:9:7: error: expected string not found in input ; 32: jmpl *4(%esp) ^ <stdin>:4:6: note: scanning from here _t1: ## @t1 ^ <stdin>:18:2: note: possible intended match here movl 12(%ebp), %eax ^ -- ******************** FAIL: LLVM :: CodeGen/X86/pmulld.ll (32 of 51) ******************** TEST 'LLVM :: CodeGen/X86/pmulld.ll' FA...