URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.arch/] [amd64-disp-step.S] - Rev 229
Go to most recent revision | Compare with Previous | Blame | View Log
/* Copyright 2009, 2010 Free Software Foundation, Inc.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program. If not, see <http://www.gnu.org/licenses/>.This file is part of the gdb testsuite.It tests displaced stepping over various insns that require specialhandling. */.text.global mainmain:nop/***********************************************//* test call/ret */.global test_calltest_call:call test_call_subrnop.global test_ret_endtest_ret_end:nop/***********************************************//* test abs-jmp/rep-ret */test_abs_jmp_setup:mov $test_abs_jmp_return,%rdxpush %rdxmov $test_abs_jmp_subr,%rdx.global test_abs_jmptest_abs_jmp:jmp *%rdxtest_abs_jmp_return:nop.global test_rep_ret_endtest_rep_ret_end:nop/***********************************************//* test syscall */.global test_syscallmov $0x27,%eax /* getpid */test_syscall:syscallnoptest_syscall_end:nop/***********************************************//* Test stepping over int3.The prefixes are pointless, but it's possible, so we exercise it. */nop.global test_int3test_int3:repzrepzint3nop.global test_int3_endtest_int3_end:nop/***********************************************//* test rip-relativeGDB picks a spare register to hold the rip-relative address.Exercise all the possibilities (rax-rdi, sans rsp). */.global test_rip_raxtest_rip_rax:add answer(%rip),%rax.global test_rip_rax_endtest_rip_rax_end:nop.global test_rip_rbxtest_rip_rbx:add answer(%rip),%rbx.global test_rip_rbx_endtest_rip_rbx_end:nop.global test_rip_rcxtest_rip_rcx:add answer(%rip),%rcx.global test_rip_rcx_endtest_rip_rcx_end:nop.global test_rip_rdxtest_rip_rdx:add answer(%rip),%rdx.global test_rip_rdx_endtest_rip_rdx_end:nop.global test_rip_rbptest_rip_rbp:add answer(%rip),%rbp.global test_rip_rbp_endtest_rip_rbp_end:nop.global test_rip_rsitest_rip_rsi:add answer(%rip),%rsi.global test_rip_rsi_endtest_rip_rsi_end:nop.global test_rip_rditest_rip_rdi:add answer(%rip),%rdi.global test_rip_rdi_endtest_rip_rdi_end:nop/* skip over test data */jmp done/* test rip-relative data */answer: .8byte 42/***********************************************//* all done */done:mov $0,%rdicall exithlt/***********************************************//* subroutine to help test call/ret */test_call_subr:nop.global test_call_endtest_call_end:nop.global test_rettest_ret:ret/***********************************************//* subroutine to help test abs-jmp/rep-ret */test_abs_jmp_subr:nop.global test_abs_jmp_endtest_abs_jmp_end:nop.global test_rep_rettest_rep_ret:repzret
Go to most recent revision | Compare with Previous | Blame | View Log
