From patchwork Mon May 22 21:12:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 20539 Received: (qmail 807 invoked by alias); 22 May 2017 21:12:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 624 invoked by uid 89); 22 May 2017 21:12:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy= X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-lf0-f66.google.com Received: from mail-lf0-f66.google.com (HELO mail-lf0-f66.google.com) (209.85.215.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 22 May 2017 21:12:54 +0000 Received: by mail-lf0-f66.google.com with SMTP id q24so6437512lfb.1; Mon, 22 May 2017 14:12:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=CtagrpGYcjTDWdRq8gvaiXXnTE7/3ioItSlMTF1yI5c=; b=hbWG3yaBjeCsv6iFFKNoFPNAZ3GBGbiLkw88csLKpnVdOTRpXm6X2m/IuJb83XlJww DLgZZIImUZXA2OQJ2S1VQ86a1GePiiZ/z+iMkTkPyRIhvaetS1m5e21BLK4L8NUOr+oj IVN0xIBdX5xLVoIyM6HPPyrLmXxdQ5eGjb94bCkydoFlMaoZgBPsOjZyQ0VTAWtTSc7t drDvkgbS6++l84bYnxNYvHNA1oirnIOY0zxHbzQIeGvR69/P+1fT9Ac36a+EEUj4zyP6 hSBhuz/uGeHWSRrjjq3LA0pl58cII3e32+OCzxpRKLB4ZxxG0vGIGJYITG5xdxsilEWs s7Wg== X-Gm-Message-State: AODbwcCRa0RDrdrJ21y0sQDJ6MDA9u7LyuJGDMveBGDGMsFYkkhr54rp a/Qrf8h3gwQ7AQ== X-Received: by 10.46.14.10 with SMTP id 10mr7009945ljo.25.1495487576140; Mon, 22 May 2017 14:12:56 -0700 (PDT) Received: from octofox.metropolis ([5.19.183.212]) by smtp.gmail.com with ESMTPSA id a7sm3335749ljb.44.2017.05.22.14.12.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 22 May 2017 14:12:55 -0700 (PDT) From: Max Filippov To: binutils@sourceware.org, gdb-patches@sourceware.org Cc: Sterling Augustine , David Weatherford , Maxim Grigoriev , Woody LaRue , Max Filippov Subject: [RFC 3/5] xtensa: support dynconfig on windows Date: Mon, 22 May 2017 14:12:31 -0700 Message-Id: <1495487553-19078-4-git-send-email-jcmvbkbc@gmail.com> In-Reply-To: <1495487553-19078-1-git-send-email-jcmvbkbc@gmail.com> References: <1495487553-19078-1-git-send-email-jcmvbkbc@gmail.com> 2017-05-22 Max Filippov bfd/ * xtensa-config.c (windows.h): New #include'd header. (RTLD_LAZY): New macro definition. (dlopen, dlsym, dlclose, dlerror): New functions. --- bfd/xtensa-config.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/bfd/xtensa-config.c b/bfd/xtensa-config.c index fdbcca4..3e12e26 100644 --- a/bfd/xtensa-config.c +++ b/bfd/xtensa-config.c @@ -3,6 +3,8 @@ #if defined (HAVE_DLFCN_H) #include +#elif defined (HAVE_WINDOWS_H) +#include #endif #include #include @@ -12,6 +14,37 @@ static struct xtensa_config xtensa_defconfig = XTENSA_CONFIG_INITIALIZER; +#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) + +#define RTLD_LAZY 0 /* Dummy value. */ + +static void * +dlopen (const char *file, int mode ATTRIBUTE_UNUSED) +{ + return LoadLibrary (file); +} + +static void * +dlsym (void *handle, const char *name) +{ + return GetProcAddress (handle, name); +} + +static int ATTRIBUTE_UNUSED +dlclose (void *handle) +{ + FreeLibrary (handle); + return 0; +} + +static const char * +dlerror (void) +{ + return "Unable to load DLL."; +} + +#endif /* !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) */ + void *xtensa_load_config (const char *name ATTRIBUTE_UNUSED, void *def) { static int init;