Page MenuHomePhabricator

build broken on big endian arches since last commit
Closed, ResolvedPublic

Description

The last commit "evas gl - experiment with dithered gl rendering" (https://git.enlightenment.org/core/efl.git/commit/?id=b59b60502122b505d20e91ed4dbddcee3abc9ce5) broke build on big endian arches (seen on ppc64, s390x)

[1620/3679] Compiling C object src/modules/evas/engines/gl_generic/libgl_generic.so.p/.._gl_common_evas_gl_shader.c.o
FAILED: src/modules/evas/engines/gl_generic/libgl_generic.so.p/.._gl_common_evas_gl_shader.c.o 
cc -Isrc/modules/evas/engines/gl_generic/libgl_generic.so.p -Isrc/modules/evas/engines/gl_generic -I../src/modules/evas/engines/gl_generic -I. -I.. -I../src/modules/evas/engines/software_generic -I../src/modules/evas/engines/gl_common -Isrc/lib/eina -I../src/lib/eina -Isrc/lib/evas/software_generic -I../src/lib/evas/software_generic -I../src/modules/evas/engines/software_generic/filters -Isrc/lib/evas -I../src/lib/evas -Isrc/lib/evas/common -I../src/lib/evas/common -Isrc/lib/evas/include -I../src/lib/evas/include -Isrc/lib/evas/filters -I../src/lib/evas/filters -Isrc/lib/evas/canvas -I../src/lib/evas/canvas -Isrc/static_libs/vg_common -I../src/static_libs/vg_common -Isrc/modules/evas/engines/buffer -I../src/modules/evas/engines/buffer -Isrc/lib/ecore -I../src/lib/ecore -Isrc/lib/eo -I../src/lib/eo -Isrc/lib/efl -I../src/lib/efl -Isrc/lib/ector -I../src/lib/ector -Isrc/lib/emile -I../src/lib/emile -Isrc/static_libs/buildsystem -I../src/static_libs/buildsystem -Isrc/lib -I../src/lib -Isrc/static_libs/libunibreak -I../src/static_libs/libunibreak -Isrc/lib/eet -I../src/lib/eet -Isrc/lib/evas/gesture -Isrc/lib/efl/interfaces -Isrc/lib/ector/gl -Isrc/lib/ector/software -I/usr/include/valgrind -I/usr/include/lua-5.1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -Wall -Wpointer-arith -Wunused-parameter -Wsign-compare -Wno-missing-field-initializers -DHAVE_CONFIG_H=1 -D_GNU_SOURCE=1 -DEFL_BETA_API_SUPPORT=1 -DNEED_RUN_IN_TREE=1 -DELM_INTERNAL_API_ARGESFSDFEFC=1 -fPIC -pthread -MD -MQ src/modules/evas/engines/gl_generic/libgl_generic.so.p/.._gl_common_evas_gl_shader.c.o -MF src/modules/evas/engines/gl_generic/libgl_generic.so.p/.._gl_common_evas_gl_shader.c.o.d -o src/modules/evas/engines/gl_generic/libgl_generic.so.p/.._gl_common_evas_gl_shader.c.o -c ../src/modules/evas/engines/gl_common/evas_gl_shader.c
../src/modules/evas/engines/gl_common/evas_gl_shader.c: In function ‘evas_gl_common_shader_precompile_list’:
../src/modules/evas/engines/gl_common/evas_gl_shader.c:16:38: error: invalid operands to binary | (have ‘void *’ and ‘int’)
   16 | # define BASEFLAG SHADER_FLAG_DITHER | SHADER_FLAG_BIGENDIAN
      |                                      ^
../src/modules/evas/engines/gl_common/evas_gl_shader.c:12:32: note: in definition of macro ‘P’
   12 | #define P(i) ((void*)(intptr_t)i)
      |                                ^
../src/modules/evas/engines/gl_common/evas_gl_shader.c:560:32: note: in expansion of macro ‘BASEFLAG’
  560 |    li = eina_list_append(li, P(BASEFLAG));
      |                                ^~~~~~~~
ninja: build stopped: subcommand failed.
Build step 'Execute shell' marked build as failure
sharkcz created this task.Nov 30 2020, 12:58 AM
ProhtMeyhet added a project: Restricted Project.Nov 30 2020, 6:15 AM
ProhtMeyhet added a subscriber: raster.

Our CI confirms the fix as correct.

@sharkcz

Friendly advice: You can just past the git commit ID on here, you do not need to link it.

So, b59b60502122b505d20e91ed4dbddcee3abc9ce5 will not only work, but provide this system called phab with more information that can be linked up.