Question: Assembly instructions ( following the standard x 8 6 - 6 4 calling conventions ) : g: leaq - 8 ( % rdi ) ,

Assembly instructions (following the standard x86-64 calling conventions):
g:
leaq -8(%rdi),%rsi
leaq (%rdi,%rdi,2),%rdi
call f
ret
Corresponding C code skeleton:
long g(long z){
return f(,);
}
There is a specific argument to g that causes a Segmentation Fault.
You should be able to find the number from looking at the assembly code, but you can also confirm by putting the assembly code for g and f in a .s file along with the code below. Then change the argument that main calls g with, assemble to an executable with gcc, and run the program.
main:
movq $42,%rdi
call g
movq $0,%rax
ret
.LC0:
.text
.globl main
.type main, @function
Question 1
SUBMITTED
Argument
Which numeric argument to g causes a segfault?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!