Opened 6 years ago

Closed 4 years ago

#7102 closed defect (fixed)

Compilation for MIPS with -msoft-float against musl libc fails

Reported by: gbr Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: MIPS
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

vf_drawtext.c cannot be compiled for MIPS with software floating-point support against musl libc.

Build command: gcc -msoft-float ... -c vf_drawtext.c

Error report:

libavfilter/vf_drawtext.c: In function 'func_eval_expr_int_format':
libavfilter/vf_drawtext.c:947:29: error: 'FE_INVALID' undeclared (first use in this function); did you mean 'EINVAL'?
     if ((ret = fetestexcept(FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW))) {
                             ^~~~~~~~~~
                             EINVAL
libavfilter/vf_drawtext.c:947:29: note: each undeclared identifier is reported only once for each function it appears in
libavfilter/vf_drawtext.c:947:40: error: 'FE_OVERFLOW' undeclared (first use in this function); did you mean 'EOVERFLOW'?
     if ((ret = fetestexcept(FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW))) {
                                        ^~~~~~~~~~~
                                        EOVERFLOW
libavfilter/vf_drawtext.c:947:52: error: 'FE_UNDERFLOW' undeclared (first use in this function); did you mean 'FE_OVERFLOW'?
     if ((ret = fetestexcept(FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW))) {
                                                    ^~~~~~~~~~~~
                                                    FE_OVERFLOW

mips/bits/fenv.h contains the following excerpt:

#ifdef __mips_soft_float
#define FE_ALL_EXCEPT 0
#define FE_TONEAREST  0
#else
#define FE_INEXACT    4
#define FE_UNDERFLOW  8
#define FE_OVERFLOW   16
#define FE_DIVBYZERO  32
#define FE_INVALID    64

#define FE_ALL_EXCEPT 124

#define FE_TONEAREST  0
#define FE_TOWARDZERO 1
#define FE_UPWARD     2
#define FE_DOWNWARD   3
#endif

Change History (1)

comment:1 by Carl Eugen Hoyos, 4 years ago

Keywords: fenv.h removed
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.