// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "main.h"

#include <zircon/compiler.h>

__BEGIN_CDECLS

int main(int argc, char** argv) {
    devmgr::device_host_main(argc, argv);
}

// All drivers have a pure C ABI.  But each individual driver might statically
// link in its own copy of some C++ library code.  Since no C++ language
// relationships leak through the driver ABI, each driver is its own whole
// program from the perspective of the C++ language rules.  But the ASan
// runtime doesn't understand this and wants to diagnose ODR violations when
// the same global is defined in multiple drivers, which is likely with C++
// library use.  There is no real way to teach the ASan instrumentation or
// runtime about symbol visibility and isolated worlds within the program, so
// the only thing to do is suppress the ODR violation detection.  This
// unfortunately means real ODR violations within a single C++ driver won't be
// caught either.
#if __has_feature(address_sanitizer)
#include <sanitizer/asan_interface.h>
const char* __asan_default_options() {
    return "detect_odr_violation=0";
}
#endif

__END_CDECLS
