Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 24 Jun 2019 14:41:16 +0530
From: bharath appali <bharath.appali@...il.com>
To: musl@...ts.openwall.com
Subject: Requesting details about making `cpu_set_t` unguarded by `_GNU_SOURCE`

Hi I'm trying to port some of my programs from glibc to MUSL libc, and i
have faced problems with `cpu_set_t` struct (I was required to add
`_GNU_SOURCE` definition to work on MUSL).

In glibc i see that the struct `cpu_set_t` is not dependent on
`_GNU_SOURCE` or `_USE_GNU`

on glibc 2.17 :

```
Name        : glibc
Arch        : i686
Version     : 2.17
```

bits/sched.h:125 (on glibc):

```
/* Data structure to describe CPU mask.  */
typedef struct
{
  __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
} cpu_set_t;

```

Here `cpu_set_t` is not dependent on `_USE_GNU`(_GNU_SOURCE)

sched.h:79 (on musl) :

```
#ifdef _GNU_SOURCE
#define CSIGNAL         0x000000ff
.
.
.
#define CLONE_IO        0x80000000
int clone (int (*)(void *), void *, int, void *, ...);
.
.
.
void free(void *);



typedef struct cpu_set_t { unsigned long __bits[128/sizeof(long)]; }
cpu_set_t;

```

Here `cpu_set_t` is exposed only if its defined `_GNU_SOURCE`

I would like to know if there are any challenges to expose `cpu_set_t`
irrespective of `_GNU_SOURCE` definition.

If its possible to define `cpu_set_t` by default(independent of
`_GNU_SOURCE`), It will be helpful to have compatibility with glibc.


-With regards,
Bharath Appali

Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.