linux-user: Add /proc/self/exe open forwarding
QEMU already supports /proc/self/{maps,stat,auxv} so addition of
/proc/self/exe is rather trivial.
Fixes https://bugs.launchpad.net/qemu/+bug/1299190
Signed-off-by: Maxim Ostapenko <m.ostapenko@partner.samsung.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
			
			
This commit is contained in:
		
							parent
							
								
									fdaad4715a
								
							
						
					
					
						commit
						aa07f5ecf9
					
				@ -5225,6 +5225,11 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
 | 
				
			|||||||
        { NULL, NULL, NULL }
 | 
					        { NULL, NULL, NULL }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (is_proc_myself(pathname, "exe")) {
 | 
				
			||||||
 | 
					        int execfd = qemu_getauxval(AT_EXECFD);
 | 
				
			||||||
 | 
					        return execfd ? execfd : get_errno(open(exec_path, flags, mode));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (fake_open = fakes; fake_open->filename; fake_open++) {
 | 
					    for (fake_open = fakes; fake_open->filename; fake_open++) {
 | 
				
			||||||
        if (fake_open->cmp(pathname, fake_open->filename)) {
 | 
					        if (fake_open->cmp(pathname, fake_open->filename)) {
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user