Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use correct fp_env definition for OpenBSD #4259

Merged
merged 1 commit into from
Jun 5, 2024
Merged

Use correct fp_env definition for OpenBSD #4259

merged 1 commit into from
Jun 5, 2024

Conversation

ron-at-swgy
Copy link
Contributor

This commit includes OpenBSD in the list of definitions checked when adding exceptions to the control flags of the floating point environment on OpenBSD. Similar to FreeBSD, the flags are contained in an x87 struct within the fp_env structure.

For reference, the official CVSWeb repository shows a definition of:

/*
 * fenv_t represents the entire floating-point environment.
 */
typedef struct {
        struct {
                unsigned int __control;         /* Control word register */
                unsigned int __status;          /* Status word register */
                unsigned int __tag;             /* Tag word register */
                unsigned int __others[4];       /* EIP, Pointer Selector, etc */
        } __x87;
        unsigned int __mxcsr;                   /* Control, status register */
} fenv_t;

Note

This change was intended to be included in #4257 but was erroneously left out when I packaged the PR yesterday.

Copy link

google-cla bot commented Jun 5, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

This commit includes OpenBSD in the list of definitions checked when
adding exceptions to the control flags of the floating point environment
on OpenBSD. Similar to FreeBSD, the flags are contained in an x87 struct
within the fp_env structure.

For reference, the [official CVSWeb repository](https://cvsweb.openbsd.org/src/sys/arch/amd64/include/fenv.h?rev=1.4&content-type=text/x-cvsweb-markup) shows a definition of:

```c
/*
 * fenv_t represents the entire floating-point environment.
 */
typedef struct {
        struct {
                unsigned int __control;         /* Control word register */
                unsigned int __status;          /* Status word register */
                unsigned int __tag;             /* Tag word register */
                unsigned int __others[4];       /* EIP, Pointer Selector, etc */
        } __x87;
        unsigned int __mxcsr;                   /* Control, status register */
} fenv_t;
```
@Mizux Mizux merged commit 240b277 into google:stable Jun 5, 2024
63 of 114 checks passed
@Mizux Mizux self-requested a review June 5, 2024 14:45
@Mizux Mizux self-assigned this Jun 5, 2024
@Mizux Mizux added Bug OS: FreeBSD FreeBSD OS labels Jun 5, 2024
@Mizux Mizux added this to the v9.11 milestone Jun 5, 2024
Mizux pushed a commit that referenced this pull request Jun 5, 2024
This commit includes OpenBSD in the list of definitions checked when
adding exceptions to the control flags of the floating point environment
on OpenBSD. Similar to FreeBSD, the flags are contained in an x87 struct
within the fp_env structure.

For reference, the [official CVSWeb repository](https://cvsweb.openbsd.org/src/sys/arch/amd64/include/fenv.h?rev=1.4&content-type=text/x-cvsweb-markup) shows a definition of:

```c
/*
 * fenv_t represents the entire floating-point environment.
 */
typedef struct {
        struct {
                unsigned int __control;         /* Control word register */
                unsigned int __status;          /* Status word register */
                unsigned int __tag;             /* Tag word register */
                unsigned int __others[4];       /* EIP, Pointer Selector, etc */
        } __x87;
        unsigned int __mxcsr;                   /* Control, status register */
} fenv_t;
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants