forked from OSchip/llvm-project
				
			Fixed breakpoints to be able to be set on eSymbolTypeReExported symbols and resolve to the correct function. This allows setting a breakpoint on "memset" for iOS simulator binaries and the correct breakpoint will be set on "__platform_memset".
llvm-svn: 193114
This commit is contained in:
		
							parent
							
								
									bc4242114e
								
							
						
					
					
						commit
						d65ef14df3
					
				| 
						 | 
					@ -288,8 +288,18 @@ BreakpointResolverName::SearchCallback
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else if (sc.symbol)
 | 
					                else if (sc.symbol)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (sc.symbol->GetType() == eSymbolTypeReExported)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        const Symbol *actual_symbol = sc.symbol->ResolveReExportedSymbol(m_breakpoint->GetTarget());
 | 
				
			||||||
 | 
					                        if (actual_symbol)
 | 
				
			||||||
 | 
					                            break_addr = actual_symbol->GetAddress();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        break_addr = sc.symbol->GetAddress();
 | 
					                        break_addr = sc.symbol->GetAddress();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
                    if (m_skip_prologue && break_addr.IsValid())
 | 
					                    if (m_skip_prologue && break_addr.IsValid())
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        const uint32_t prologue_byte_size = sc.symbol->GetPrologueByteSize();
 | 
					                        const uint32_t prologue_byte_size = sc.symbol->GetPrologueByteSize();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue