Message ID | 20150218105925.GA9876@msticlxl7.ims.intel.com |
---|---|
State | New |
Headers | show |
On Wed, Feb 18, 2015 at 01:59:25PM +0300, Ilya Tocar wrote: > Hi, > > On android dlerror returns const char*. Looks like POSIX violation. > Ok for trunk? > > libgomp/ > * target.c (gomp_load_plugin_for_device): Fix type of dlerror > return value. > (DLSYM_OPT): Ditto. Therefore, I wouldn't word the ChangeLog entry this way, because it isn't fixing it, it is working around Android bug. So what about Use const char * instead of char * for variables holding dlerror return values. ? Ok with that change. Jakub
diff --git a/libgomp/target.c b/libgomp/target.c index 73e757a..50baa4d 100644 --- a/libgomp/target.c +++ b/libgomp/target.c @@ -919,7 +919,7 @@ static bool gomp_load_plugin_for_device (struct gomp_device_descr *device, const char *plugin_name) { - char *err = NULL, *last_missing = NULL; + const char *err = NULL, *last_missing = NULL; int optional_present, optional_total; /* Clear any existing error. */ @@ -947,7 +947,7 @@ gomp_load_plugin_for_device (struct gomp_device_descr *device, #define DLSYM_OPT(f, n) \ do \ { \ - char *tmp_err; \ + const char *tmp_err; \ device->f##_func = dlsym (plugin_handle, "GOMP_OFFLOAD_" #n); \ tmp_err = dlerror (); \ if (tmp_err == NULL) \