| Index: runtime/bin/file_macos.cc
 | 
| diff --git a/runtime/bin/file_macos.cc b/runtime/bin/file_macos.cc
 | 
| index 301424b3daface22b3ad7cb6927934d3308de97c..a5af90428f16e822aa56cee5dd45491782fc7188 100644
 | 
| --- a/runtime/bin/file_macos.cc
 | 
| +++ b/runtime/bin/file_macos.cc
 | 
| @@ -169,11 +169,25 @@ bool File::CreateLink(const char* name, const char* target) {
 | 
|  
 | 
|  
 | 
|  bool File::Delete(const char* name) {
 | 
| -  int status = TEMP_FAILURE_RETRY(remove(name));
 | 
| -  if (status == -1) {
 | 
| -    return false;
 | 
| +  File::Type type = File::GetType(name, true);
 | 
| +  if (type == kIsFile) {
 | 
| +    return TEMP_FAILURE_RETRY(unlink(name)) == 0;
 | 
| +  } else if (type == kIsDirectory) {
 | 
| +    errno = EISDIR;
 | 
| +  } else {
 | 
| +    errno = ENOENT;
 | 
| +  }
 | 
| +  return false;
 | 
| +}
 | 
| +
 | 
| +
 | 
| +bool File::DeleteLink(const char* name) {
 | 
| +  File::Type type = File::GetType(name, false);
 | 
| +  if (type == kIsLink) {
 | 
| +    return TEMP_FAILURE_RETRY(unlink(name)) == 0;
 | 
|    }
 | 
| -  return true;
 | 
| +  errno = EINVAL;
 | 
| +  return false;
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |