I noticed while building Qt5 packages for Genode 18.08 that mesa and qt5_dejavusans needed their hashes updated before I could build them. Also, I couldn't prepare the fatfs port without updating the hash for ff13b.zip and then for fatfs.port.
Hello Ben,
On Mon, Sep 03, 2018 at 12:31:06AM -0600, Nobody III wrote:
I noticed while building Qt5 packages for Genode 18.08 that mesa and qt5_dejavusans needed their hashes updated before I could build them.
I cannot reproduce this (neither with master nor with staging). What I did was
./tool/depot/create FORCE=1 UPDATE_VERSIONS=1 chelmuth/src/mesa chelmuth/raw/qt5_dejavusans
in the Genode top directory. DO you have further info for me?
Also, I couldn't prepare the fatfs port without updating the hash for ff13b.zip and then for fatfs.port.
We also had this issue back in July [1] when the author changed the ZIP file on the web server. I consider hosting our blessed version on our own server to circumvent this annoyance. Thanks for reporting.
[1] https://github.com/genodelabs/genode/commit/5f9ac94bef5b97676dedb77a5155a64a...
Greets
On Mon, Sep 03, 2018 at 12:12:44PM +0200, Christian Helmuth wrote:
Also, I couldn't prepare the fatfs port without updating the hash for ff13b.zip and then for fatfs.port.
We also had this issue back in July [1] when the author changed the ZIP file on the web server. I consider hosting our blessed version on our own server to circumvent this annoyance. Thanks for reporting.
[1] https://github.com/genodelabs/genode/commit/5f9ac94bef5b97676dedb77a5155a64a...
Note that I reopened issue 2766 on GitHub [1].
[1] https://github.com/genodelabs/genode/issues/2766
I'm surprised that you can't reproduce the error, because I got it on both of my computers. I'm using the upstream branch on my own repo, but it's synced to 18.08, which is only 1 dde_linux-related patch behind master.
On Mon, Sep 3, 2018 at 4:23 AM Christian Helmuth < christian.helmuth@genode-labs.com> wrote:
On Mon, Sep 03, 2018 at 12:12:44PM +0200, Christian Helmuth wrote:
Also, I couldn't prepare the fatfs port without updating the hash for ff13b.zip and then for fatfs.port.
We also had this issue back in July [1] when the author changed the ZIP file on the web server. I consider hosting our blessed version on our own server to circumvent this annoyance. Thanks for reporting.
[1]
https://github.com/genodelabs/genode/commit/5f9ac94bef5b97676dedb77a5155a64a...
Note that I reopened issue 2766 on GitHub [1].
[1] https://github.com/genodelabs/genode/issues/2766
-- Christian Helmuth Genode Labs
https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Ben,
On Tue, Sep 04, 2018 at 12:41:06AM -0600, Nobody III wrote:
I'm surprised that you can't reproduce the error, because I got it on both of my computers. I'm using the upstream branch on my own repo, but it's synced to 18.08, which is only 1 dde_linux-related patch behind master.
On second thought you may be hit by issue #2834 [1]. I asked your for it before, but could you provide more information (esp. about your host system OS)?
Further I'd like you to run a recursive diff (diff -ur) of the src archives you generated and those that can be downloaded from https://depot.genode.org/genodelabs for 18.08 to validate my suspicion. And please, let's investigate this on 18.08 (not master or anything else).
[1] https://github.com/genodelabs/genode/issues/2834
Greets
qt5_dejavusans.tar has the same contents in both versions, but different modification dates. In my version, the date is 1/1/70 (12:00 AM), while the version from depot.genode.org has 2/6/06 (10:28 PM) as its modification date. The commit you wrote for repeatable builds is working in my version, but not in the version from depot.genode.org.
As for mesa, the contents are substantially different, specifically in the generated files. Here's the diff: diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c 2018-09-02/src/lib/mesa/src/c ompiler/glsl/glcpp/glcpp-lex.c --- 2018-07-12/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c 2018-08-30 04:25:24.000000000 -060 0 +++ 2018-09-02/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c 2018-09-02 23:51:45.000000000 -060 0 @@ -9,7 +9,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 0 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -88,25 +88,13 @@
#endif /* ! FLEXINT_H */
-#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif
/* Returned upon end-of-file. */ @@ -219,7 +207,7 @@ /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -247,7 +235,7 @@
int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -303,7 +291,7 @@
YY_BUFFER_STATE glcpp__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE glcpp__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE glcpp__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); +YY_BUFFER_STATE glcpp__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
void *glcpp_alloc (yy_size_t ,yyscan_t yyscanner ); void *glcpp_realloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -347,17 +335,14 @@ static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -#if defined(__GNUC__) && __GNUC__ >= 3 -__attribute__((__noreturn__)) -#endif -static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); +static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yyg->yytext_ptr = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; @@ -770,7 +755,7 @@ strings, we have to be careful to avoid OTHER matching and hiding something that CPP does care about. So we simply exclude all characters that appear in any other expressions. */ -#line 774 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c" +#line 759 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c"
#define INITIAL 0 #define COMMENT 1 @@ -804,7 +789,7 @@ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; int yy_n_chars; - yy_size_t yyleng_r; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -861,7 +846,7 @@
void glcpp_set_out (FILE * _out_str ,yyscan_t yyscanner );
-yy_size_t glcpp_get_leng (yyscan_t yyscanner ); + int glcpp_get_leng (yyscan_t yyscanner );
char *glcpp_get_text (yyscan_t yyscanner );
@@ -938,7 +923,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -962,7 +947,7 @@ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1126,7 +1111,7 @@ }
/* Single-line comments */ -#line 1130 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c" +#line 1115 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1156,7 +1141,7 @@ if ( yy_current_state >= 174 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c] ; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c] ; ++yy_cp; } while ( yy_current_state != 173 ); @@ -1686,7 +1671,7 @@ #line 571 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1690 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c" +#line 1675 "src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c" case YY_STATE_EOF(DONE): case YY_STATE_EOF(NEWLINE_CATCHUP): case YY_STATE_EOF(UNREACHABLE): @@ -1835,7 +1820,7 @@ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = yyg->yytext_ptr; - yy_size_t number_to_move, i; + int number_to_move, i; int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -1864,7 +1849,7 @@ /* Try to read more data. */
/* First move last chars to start of buffer. */ - number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1877,7 +1862,7 @@
else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 ) @@ -1891,7 +1876,7 @@
if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1904,7 +1889,7 @@ } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -1946,7 +1931,7 @@ else ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) glcpp_realloc((void *) YY_CURRENT_B UFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); @@ -1987,7 +1972,7 @@ if ( yy_current_state >= 174 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; }
return yy_current_state; @@ -2016,7 +2001,7 @@ if ( yy_current_state >= 174 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; yy_is_jam = (yy_current_state == 173);
(void)yyg; @@ -2038,7 +2023,7 @@ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - yy_size_t number_to_move = yyg->yy_n_chars + 2; + int number_to_move = yyg->yy_n_chars + 2; char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; char *source = @@ -2050,7 +2035,7 @@ yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + yyg->yy_n_chars = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); @@ -2090,7 +2075,7 @@
else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) ) @@ -2114,7 +2099,7 @@ case EOB_ACT_END_OF_FILE: { if ( glcpp_wrap(yyscanner ) ) - return EOF; + return 0;
if ( ! yyg->yy_did_buffer_switch_on_eof ) YY_NEW_FILE; @@ -2370,7 +2355,7 @@ */ static void glcpp_ensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!yyg->yy_buffer_stack) { @@ -2379,15 +2364,15 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)glcpp_alloc (num_to_alloc * sizeof(struct yy_b uffer_state*) , yyscanner); if ( ! yyg->yy_buffer_stack ) YY_FATAL_ERROR( "out of dynamic memory in glcpp_ensure_buffer_stack()" ); - + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_top = 0; return; @@ -2416,7 +2401,7 @@ * @param base the character buffer * @param size the size in bytes of the character buffer * @param yyscanner The scanner object. - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE glcpp__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) { @@ -2426,7 +2411,7 @@ base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL;
b = (YY_BUFFER_STATE) glcpp_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); if ( ! b ) @@ -2435,7 +2420,7 @@ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -2458,7 +2443,7 @@ YY_BUFFER_STATE glcpp__scan_string (yyconst char * yystr , yyscan_t yyscanner) {
- return glcpp__scan_bytes(yystr,strlen(yystr) ,yyscanner); + return glcpp__scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); }
/** Setup the input buffer state to scan the given bytes. The next call to glcpp_lex() will @@ -2468,15 +2453,15 @@ * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE glcpp__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yy scanner) +YY_BUFFER_STATE glcpp__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanne r) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i;
/* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) (_yybytes_len + 2); buf = (char *) glcpp_alloc(n ,yyscanner ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in glcpp__scan_bytes()" ); @@ -2506,7 +2491,7 @@ yy_size_t new_size;
yyg->yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yyg->yy_start_stack_depth * sizeof( int ); + new_size = (yy_size_t) yyg->yy_start_stack_depth * sizeof( int );
if ( ! yyg->yy_start_stack ) yyg->yy_start_stack = (int *) glcpp_alloc(new_size ,yyscanner ); @@ -2542,7 +2527,7 @@ #define YY_EXIT_FAILURE 2 #endif
-static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; @@ -2584,7 +2569,7 @@ int glcpp_get_lineno (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0;
@@ -2597,7 +2582,7 @@ int glcpp_get_column (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0;
@@ -2625,7 +2610,7 @@ /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t glcpp_get_leng (yyscan_t yyscanner) +int glcpp_get_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -2784,20 +2769,20 @@ errno = EINVAL; return 1; } - + *ptr_yy_globals = (yyscan_t) glcpp_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); - + if (*ptr_yy_globals == NULL){ errno = ENOMEM; return 1; } - + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); - + glcpp_set_extra (yy_user_defined, *ptr_yy_globals); - + return yy_init_globals ( *ptr_yy_globals ); }
@@ -2808,10 +2793,10 @@ * This function is called from glcpp_lex_destroy(), so don't allocate here. */
- yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack = NULL; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; - yyg->yy_c_buf_p = (char *) 0; + yyg->yy_c_buf_p = NULL; yyg->yy_init = 0; yyg->yy_start = 0;
@@ -2824,8 +2809,8 @@ yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif
/* For future reference: Set errno on error, since we are called by @@ -2895,7 +2880,7 @@ { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; - return (void *) malloc( size ); + return malloc(size); }
void *glcpp_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) @@ -2910,7 +2895,7 @@ * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); }
void glcpp_free (void * ptr , yyscan_t yyscanner) diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp 2018-09-02/src/lib/mesa/src/comp iler/glsl/glsl_lexer.cpp --- 2018-07-12/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp 2018-08-30 04:25:24.000000000 -060 0 +++ 2018-09-02/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp 2018-09-02 23:51:45.000000000 -060 0 @@ -9,7 +9,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 0 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -88,25 +88,13 @@
#endif /* ! FLEXINT_H */
-#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif
/* Returned upon end-of-file. */ @@ -219,7 +207,7 @@ /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -247,7 +235,7 @@
int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -303,7 +291,7 @@
YY_BUFFER_STATE _mesa_glsl_lexer__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE _mesa_glsl_lexer__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE _mesa_glsl_lexer__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscann er ); +YY_BUFFER_STATE _mesa_glsl_lexer__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
void *_mesa_glsl_lexer_alloc (yy_size_t ,yyscan_t yyscanner ); void *_mesa_glsl_lexer_realloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -347,17 +335,14 @@ static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -#if defined(__GNUC__) && __GNUC__ >= 3 -__attribute__((__noreturn__)) -#endif -static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); +static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yyg->yytext_ptr = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; @@ -1266,7 +1251,7 @@ * update the "Internal compiler error" catch-all rule near the end of * this file. */
-#line 1270 "src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp" +#line 1255 "src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp"
#define INITIAL 0 #define PP 1 @@ -1296,7 +1281,7 @@ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; int yy_n_chars; - yy_size_t yyleng_r; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -1353,7 +1338,7 @@
void _mesa_glsl_lexer_set_out (FILE * _out_str ,yyscan_t yyscanner );
-yy_size_t _mesa_glsl_lexer_get_leng (yyscan_t yyscanner ); + int _mesa_glsl_lexer_get_leng (yyscan_t yyscanner );
char *_mesa_glsl_lexer_get_text (yyscan_t yyscanner );
@@ -1422,7 +1407,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1446,7 +1431,7 @@ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1555,7 +1540,7 @@ #line 165 "src/lib/mesa/src/compiler/glsl/glsl_lexer.ll"
-#line 1559 "src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp" +#line 1544 "src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1586,7 +1571,7 @@ if ( yy_current_state >= 1047 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c] ; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c] ; ++yy_cp; } while ( yy_current_state != 1046 ); @@ -3068,7 +3053,7 @@ #line 603 "src/lib/mesa/src/compiler/glsl/glsl_lexer.ll" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 3072 "src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp" +#line 3057 "src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(PP): case YY_STATE_EOF(PRAGMA): @@ -3217,7 +3202,7 @@ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = yyg->yytext_ptr; - yy_size_t number_to_move, i; + int number_to_move, i; int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -3246,7 +3231,7 @@ /* Try to read more data. */
/* First move last chars to start of buffer. */ - number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -3259,7 +3244,7 @@
else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 ) @@ -3273,7 +3258,7 @@
if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -3286,7 +3271,7 @@ } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -3328,7 +3313,7 @@ else ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) _mesa_glsl_lexer_realloc((void *) Y Y_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); @@ -3370,7 +3355,7 @@ if ( yy_current_state >= 1047 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; }
return yy_current_state; @@ -3399,7 +3384,7 @@ if ( yy_current_state >= 1047 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; yy_is_jam = (yy_current_state == 1046);
(void)yyg; @@ -3435,7 +3420,7 @@
else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) ) @@ -3459,7 +3444,7 @@ case EOB_ACT_END_OF_FILE: { if ( _mesa_glsl_lexer_wrap(yyscanner ) ) - return EOF; + return 0;
if ( ! yyg->yy_did_buffer_switch_on_eof ) YY_NEW_FILE; @@ -3717,7 +3702,7 @@ */ static void _mesa_glsl_lexer_ensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!yyg->yy_buffer_stack) { @@ -3726,15 +3711,15 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)_mesa_glsl_lexer_alloc (num_to_alloc * sizeof(struct yy_b uffer_state*) , yyscanner); if ( ! yyg->yy_buffer_stack ) YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl_lexer_ensure_buffer_s tack()" ); - + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_top = 0; return; @@ -3763,7 +3748,7 @@ * @param base the character buffer * @param size the size in bytes of the character buffer * @param yyscanner The scanner object. - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE _mesa_glsl_lexer__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner ) { @@ -3773,7 +3758,7 @@ base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL;
b = (YY_BUFFER_STATE) _mesa_glsl_lexer_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ) ; if ( ! b ) @@ -3782,7 +3767,7 @@ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -3805,7 +3790,7 @@ YY_BUFFER_STATE _mesa_glsl_lexer__scan_string (yyconst char * yystr , yyscan_t yyscanner) {
- return _mesa_glsl_lexer__scan_bytes(yystr,strlen(yystr) ,yyscanner); + return _mesa_glsl_lexer__scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); }
/** Setup the input buffer state to scan the given bytes. The next call to _mesa_glsl_lexer_lex() will @@ -3815,15 +3800,15 @@ * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE _mesa_glsl_lexer__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE _mesa_glsl_lexer__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan _t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i;
/* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) (_yybytes_len + 2); buf = (char *) _mesa_glsl_lexer_alloc(n ,yyscanner ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl_lexer__scan_bytes()" ); @@ -3849,7 +3834,7 @@ #define YY_EXIT_FAILURE 2 #endif
-static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; @@ -3891,7 +3876,7 @@ int _mesa_glsl_lexer_get_lineno (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0;
@@ -3904,7 +3889,7 @@ int _mesa_glsl_lexer_get_column (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0;
@@ -3932,7 +3917,7 @@ /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t _mesa_glsl_lexer_get_leng (yyscan_t yyscanner) +int _mesa_glsl_lexer_get_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -4091,20 +4076,20 @@ errno = EINVAL; return 1; } - + *ptr_yy_globals = (yyscan_t) _mesa_glsl_lexer_alloc ( sizeof( struct yyguts_t ), &dummy_yygut s ); - + if (*ptr_yy_globals == NULL){ errno = ENOMEM; return 1; } - + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); - + _mesa_glsl_lexer_set_extra (yy_user_defined, *ptr_yy_globals); - + return yy_init_globals ( *ptr_yy_globals ); }
@@ -4115,10 +4100,10 @@ * This function is called from _mesa_glsl_lexer_lex_destroy(), so don't allocate here. */
- yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack = NULL; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; - yyg->yy_c_buf_p = (char *) 0; + yyg->yy_c_buf_p = NULL; yyg->yy_init = 0; yyg->yy_start = 0;
@@ -4131,8 +4116,8 @@ yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif
/* For future reference: Set errno on error, since we are called by @@ -4202,7 +4187,7 @@ { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; - return (void *) malloc( size ); + return malloc(size); }
void *_mesa_glsl_lexer_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) @@ -4217,7 +4202,7 @@ * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); }
void _mesa_glsl_lexer_free (void * ptr , yyscan_t yyscanner) Binary files 2018-07-12/src/lib/mesa/src/mapi/glapi/gen/gl_XML.pyc and 2018-09-02/src/lib/mesa/src /mapi/glapi/gen/gl_XML.pyc differ Binary files 2018-07-12/src/lib/mesa/src/mapi/glapi/gen/typeexpr.pyc and 2018-09-02/src/lib/mesa/s rc/mapi/glapi/gen/typeexpr.pyc differ diff -ur 2018-07-12/src/lib/mesa/src/mesa/program/lex.yy.c 2018-09-02/src/lib/mesa/src/mesa/progra m/lex.yy.c --- 2018-07-12/src/lib/mesa/src/mesa/program/lex.yy.c 2018-08-30 04:25:24.000000000 -0600 +++ 2018-09-02/src/lib/mesa/src/mesa/program/lex.yy.c 2018-09-02 23:51:45.000000000 -0600 @@ -9,7 +9,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 0 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -88,25 +88,13 @@
#endif /* ! FLEXINT_H */
-#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif
/* Returned upon end-of-file. */ @@ -219,7 +207,7 @@ /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -247,7 +235,7 @@
int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -303,7 +291,7 @@
YY_BUFFER_STATE _mesa_program_lexer__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ) ; YY_BUFFER_STATE _mesa_program_lexer__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE _mesa_program_lexer__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yysc anner ); +YY_BUFFER_STATE _mesa_program_lexer__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
void *_mesa_program_lexer_alloc (yy_size_t ,yyscan_t yyscanner ); void *_mesa_program_lexer_realloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -347,17 +335,14 @@ static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -#if defined(__GNUC__) && __GNUC__ >= 3 -__attribute__((__noreturn__)) -#endif -static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); +static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yyg->yytext_ptr = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; @@ -1135,7 +1120,7 @@ int _mesa_program_lexer_get_column (yyscan_t yyscanner); void _mesa_program_lexer_set_column (int column_no , yyscan_t yyscanner);
-#line 1139 "src/lib/mesa/src/mesa/program/lex.yy.c" +#line 1124 "src/lib/mesa/src/mesa/program/lex.yy.c"
#define INITIAL 0
@@ -1165,7 +1150,7 @@ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; int yy_n_chars; - yy_size_t yyleng_r; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -1222,7 +1207,7 @@
void _mesa_program_lexer_set_out (FILE * _out_str ,yyscan_t yyscanner );
-yy_size_t _mesa_program_lexer_get_leng (yyscan_t yyscanner ); + int _mesa_program_lexer_get_leng (yyscan_t yyscanner );
char *_mesa_program_lexer_get_text (yyscan_t yyscanner );
@@ -1293,7 +1278,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1317,7 +1302,7 @@ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1423,7 +1408,7 @@ #line 171 "src/lib/mesa/src/mesa/program/program_lexer.l"
-#line 1427 "src/lib/mesa/src/mesa/program/lex.yy.c" +#line 1412 "src/lib/mesa/src/mesa/program/lex.yy.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1453,7 +1438,7 @@ if ( yy_current_state >= 779 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c] ; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c] ; ++yy_cp; } while ( yy_base[yy_current_state] != 1208 ); @@ -2398,7 +2383,7 @@ #line 482 "src/lib/mesa/src/mesa/program/program_lexer.l" ECHO; YY_BREAK -#line 2402 "src/lib/mesa/src/mesa/program/lex.yy.c" +#line 2387 "src/lib/mesa/src/mesa/program/lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate();
@@ -2544,7 +2529,7 @@ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = yyg->yytext_ptr; - yy_size_t number_to_move, i; + int number_to_move, i; int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -2573,7 +2558,7 @@ /* Try to read more data. */
/* First move last chars to start of buffer. */ - number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -2586,7 +2571,7 @@
else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 ) @@ -2600,7 +2585,7 @@
if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2613,7 +2598,7 @@ } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -2655,7 +2640,7 @@ else ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) _mesa_program_lexer_realloc((void * ) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); @@ -2696,7 +2681,7 @@ if ( yy_current_state >= 779 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; }
return yy_current_state; @@ -2725,7 +2710,7 @@ if ( yy_current_state >= 779 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; yy_is_jam = (yy_current_state == 778);
(void)yyg; @@ -2747,7 +2732,7 @@ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - yy_size_t number_to_move = yyg->yy_n_chars + 2; + int number_to_move = yyg->yy_n_chars + 2; char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; char *source = @@ -2759,7 +2744,7 @@ yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + yyg->yy_n_chars = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); @@ -2799,7 +2784,7 @@
else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) ) @@ -2823,7 +2808,7 @@ case EOB_ACT_END_OF_FILE: { if ( _mesa_program_lexer_wrap(yyscanner ) ) - return EOF; + return 0;
if ( ! yyg->yy_did_buffer_switch_on_eof ) YY_NEW_FILE; @@ -3079,7 +3064,7 @@ */ static void _mesa_program_lexer_ensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!yyg->yy_buffer_stack) { @@ -3088,15 +3073,15 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)_mesa_program_lexer_alloc (num_to_alloc * sizeof(struct yy_b uffer_state*) , yyscanner); if ( ! yyg->yy_buffer_stack ) YY_FATAL_ERROR( "out of dynamic memory in _mesa_program_lexer_ensure_buffe r_stack()" ); - + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_top = 0; return; @@ -3125,7 +3110,7 @@ * @param base the character buffer * @param size the size in bytes of the character buffer * @param yyscanner The scanner object. - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE _mesa_program_lexer__scan_buffer (char * base, yy_size_t size , yyscan_t yyscan ner) { @@ -3135,7 +3120,7 @@ base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL;
b = (YY_BUFFER_STATE) _mesa_program_lexer_alloc(sizeof( struct yy_buffer_state ) ,yyscanne r ); if ( ! b ) @@ -3144,7 +3129,7 @@ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -3167,7 +3152,7 @@ YY_BUFFER_STATE _mesa_program_lexer__scan_string (yyconst char * yystr , yyscan_t yyscanner) {
- return _mesa_program_lexer__scan_bytes(yystr,strlen(yystr) ,yyscanner); + return _mesa_program_lexer__scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); }
/** Setup the input buffer state to scan the given bytes. The next call to _mesa_program_lexer_le x() will @@ -3177,15 +3162,15 @@ * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE _mesa_program_lexer__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE _mesa_program_lexer__scan_bytes (yyconst char * yybytes, int _yybytes_len , yys can_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i;
/* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) (_yybytes_len + 2); buf = (char *) _mesa_program_lexer_alloc(n ,yyscanner ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in _mesa_program_lexer__scan_bytes()" ); @@ -3211,7 +3196,7 @@ #define YY_EXIT_FAILURE 2 #endif
-static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; @@ -3253,7 +3238,7 @@ int _mesa_program_lexer_get_lineno (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0;
@@ -3266,7 +3251,7 @@ int _mesa_program_lexer_get_column (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0;
@@ -3294,7 +3279,7 @@ /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t _mesa_program_lexer_get_leng (yyscan_t yyscanner) +int _mesa_program_lexer_get_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -3453,20 +3438,20 @@ errno = EINVAL; return 1; } - + *ptr_yy_globals = (yyscan_t) _mesa_program_lexer_alloc ( sizeof( struct yyguts_t ), &dummy_yy guts ); - + if (*ptr_yy_globals == NULL){ errno = ENOMEM; return 1; } - + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); - + _mesa_program_lexer_set_extra (yy_user_defined, *ptr_yy_globals); - + return yy_init_globals ( *ptr_yy_globals ); }
@@ -3477,10 +3462,10 @@ * This function is called from _mesa_program_lexer_lex_destroy(), so don't allocate here. */
- yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack = NULL; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; - yyg->yy_c_buf_p = (char *) 0; + yyg->yy_c_buf_p = NULL; yyg->yy_init = 0; yyg->yy_start = 0;
@@ -3493,8 +3478,8 @@ yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif
/* For future reference: Set errno on error, since we are called by @@ -3564,7 +3549,7 @@ { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; - return (void *) malloc( size ); + return malloc(size); }
void *_mesa_program_lexer_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) @@ -3579,7 +3564,7 @@ * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); }
void _mesa_program_lexer_free (void * ptr , yyscan_t yyscanner)
On Tue, Sep 4, 2018 at 1:09 AM Christian Helmuth < christian.helmuth@genode-labs.com> wrote:
Hello Ben,
On Tue, Sep 04, 2018 at 12:41:06AM -0600, Nobody III wrote:
I'm surprised that you can't reproduce the error, because I got it on
both
of my computers. I'm using the upstream branch on my own repo, but it's synced to 18.08, which is only 1 dde_linux-related patch behind master.
On second thought you may be hit by issue #2834 [1]. I asked your for it before, but could you provide more information (esp. about your host system OS)?
Further I'd like you to run a recursive diff (diff -ur) of the src archives you generated and those that can be downloaded from https://depot.genode.org/genodelabs for 18.08 to validate my suspicion. And please, let's investigate this on 18.08 (not master or anything else).
[1] https://github.com/genodelabs/genode/issues/2834
Greets
Christian Helmuth Genode Labs
https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Ben,
thanks for the diff output.
On Tue, Sep 04, 2018 at 11:12:58AM -0600, Nobody III wrote:
qt5_dejavusans.tar has the same contents in both versions, but different modification dates. In my version, the date is 1/1/70 (12:00 AM), while the version from depot.genode.org has 2/6/06 (10:28 PM) as its modification date. The commit you wrote for repeatable builds is working in my version, but not in the version from depot.genode.org.
Are your referring to
https://github.com/genodelabs/genode/commit/e3fd55402633758a83c21a79a9f5e75c...
Is there some error message or more information? Would you mind to send me your qt5_dejavusans.tar raw package along with a manual "tar cf" of the raw package directory?
As for mesa, the contents are substantially different, specifically in the generated files. Here's the diff: diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp diff -ur 2018-07-12/src/lib/mesa/src/mesa/program/lex.yy.c
All these files are generated by flex and your system's version differs from ours. So now I'm sure, this is issue #2834 and we still have two options
(1) pre-generate the files and add them to the port patch (2) generate the files in the build step like with libc
Greets
That commit is exactly what I was referring to. Be sure to inspect qt5_dejavusans.tar from depot.genode.org. Here's my version to compare it to. I'm not exactly sure what else you're asking for, but this should be enough.
On Wed, Sep 5, 2018 at 6:29 AM Christian Helmuth < christian.helmuth@genode-labs.com> wrote:
Hello Ben,
thanks for the diff output.
On Tue, Sep 04, 2018 at 11:12:58AM -0600, Nobody III wrote:
qt5_dejavusans.tar has the same contents in both versions, but different modification dates. In my version, the date is 1/1/70 (12:00 AM), while
the
version from depot.genode.org has 2/6/06 (10:28 PM) as its modification date. The commit you wrote for repeatable builds is working in my
version,
but not in the version from depot.genode.org.
Are your referring to
https://github.com/genodelabs/genode/commit/e3fd55402633758a83c21a79a9f5e75c...
Is there some error message or more information? Would you mind to send me your qt5_dejavusans.tar raw package along with a manual "tar cf" of the raw package directory?
As for mesa, the contents are substantially different, specifically in
the
generated files. Here's the diff: diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp diff -ur 2018-07-12/src/lib/mesa/src/mesa/program/lex.yy.c
All these files are generated by flex and your system's version differs from ours. So now I'm sure, this is issue #2834 and we still have two options
(1) pre-generate the files and add them to the port patch (2) generate the files in the build step like with libc
Greets
Christian Helmuth Genode Labs
https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
It looks like the tar file that I attached requires a moderator's approval. If you can't approve it, I'd recommend that you inspect qt5_dejavusans.tar from depot.genode.org. And yes, the commit you linked to was exactly what I was referring to.
On Wed, Sep 5, 2018 at 11:22 AM Nobody III hungryninja101@gmail.com wrote:
That commit is exactly what I was referring to. Be sure to inspect qt5_dejavusans.tar from depot.genode.org. Here's my version to compare it to. I'm not exactly sure what else you're asking for, but this should be enough.
On Wed, Sep 5, 2018 at 6:29 AM Christian Helmuth < christian.helmuth@genode-labs.com> wrote:
Hello Ben,
thanks for the diff output.
On Tue, Sep 04, 2018 at 11:12:58AM -0600, Nobody III wrote:
qt5_dejavusans.tar has the same contents in both versions, but different modification dates. In my version, the date is 1/1/70 (12:00 AM), while
the
version from depot.genode.org has 2/6/06 (10:28 PM) as its modification date. The commit you wrote for repeatable builds is working in my
version,
but not in the version from depot.genode.org.
Are your referring to
https://github.com/genodelabs/genode/commit/e3fd55402633758a83c21a79a9f5e75c...
Is there some error message or more information? Would you mind to send me your qt5_dejavusans.tar raw package along with a manual "tar cf" of the raw package directory?
As for mesa, the contents are substantially different, specifically in
the
generated files. Here's the diff: diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp diff -ur 2018-07-12/src/lib/mesa/src/mesa/program/lex.yy.c
All these files are generated by flex and your system's version differs from ours. So now I'm sure, this is issue #2834 and we still have two options
(1) pre-generate the files and add them to the port patch (2) generate the files in the build step like with libc
Greets
Christian Helmuth Genode Labs
https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Ben,
On Wed, Sep 05, 2018 at 11:30:04AM -0600, Nobody III wrote:
It looks like the tar file that I attached requires a moderator's approval. If you can't approve it, I'd recommend that you inspect qt5_dejavusans.tar from depot.genode.org. And yes, the commit you linked to was exactly what I was referring to.
I forgot to mention you should send the file per PM to me, sorry. But, I could extract it from the mailing list daemon, investigated the differences by binary diff and learned another bit about GNU tar. The difference between both tar files is the "file modification time" which I tried to set to 1970-01-01 in the commit mentioned before. What I missed was that it is set to 1970-01-01 00:00 in local time, which differs between Europe and the US, so the file contains different UTC values.
I'm preparing a fix for the staging branch like follows.
diff --git a/repos/libports/recipes/raw/qt5_dejavusans/content.mk b/repos/libports/recipes/raw/qt5_dejavusans/content.mk index e6ebeb2ed7..6ad12b2569 100644 --- a/repos/libports/recipes/raw/qt5_dejavusans/content.mk +++ b/repos/libports/recipes/raw/qt5_dejavusans/content.mk @@ -7,5 +7,5 @@ qt/lib/fonts/DejaVuSans.ttf: cp $(PORT_DIR)/src/lib/qt5/qt5/qtquickcontrols/examples/quickcontrols/extras/dashboard/fonts/$(notdir $@) $@
qt5_dejavusans.tar: qt/lib/fonts/DejaVuSans.ttf - tar --owner=0 --group=0 --numeric-owner --mode='go=' --mtime='1970-01-01' -cf $@ qt + tar --owner=0 --group=0 --numeric-owner --mode='go=' --mtime='1970-01-01 00:00+00' -cf $@ qt rm -rf qt
Thanks for your help.
Hi Ben,
please, avoid to send attachments over the mailing-list in future. It is annoying to send tons of bytes via a public mailing-list. You might use a public URL refering the files instead.
I've accidentally accepted your message to be sent over the list this time. Apologize to all people receiving these messages with low bandwidth.
Regards Stefan
On Wed, Sep 05, 2018 at 11:22:36AM -0600, Nobody III wrote:
That commit is exactly what I was referring to. Be sure to inspect qt5_dejavusans.tar from depot.genode.org. Here's my version to compare it to. I'm not exactly sure what else you're asking for, but this should be enough.
On Wed, Sep 5, 2018 at 6:29 AM Christian Helmuth < christian.helmuth@genode-labs.com> wrote:
Hello Ben,
thanks for the diff output.
On Tue, Sep 04, 2018 at 11:12:58AM -0600, Nobody III wrote:
qt5_dejavusans.tar has the same contents in both versions, but different modification dates. In my version, the date is 1/1/70 (12:00 AM), while
the
version from depot.genode.org has 2/6/06 (10:28 PM) as its modification date. The commit you wrote for repeatable builds is working in my
version,
but not in the version from depot.genode.org.
Are your referring to
https://github.com/genodelabs/genode/commit/e3fd55402633758a83c21a79a9f5e75c...
Is there some error message or more information? Would you mind to send me your qt5_dejavusans.tar raw package along with a manual "tar cf" of the raw package directory?
As for mesa, the contents are substantially different, specifically in
the
generated files. Here's the diff: diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glcpp/glcpp-lex.c diff -ur 2018-07-12/src/lib/mesa/src/compiler/glsl/glsl_lexer.cpp diff -ur 2018-07-12/src/lib/mesa/src/mesa/program/lex.yy.c
All these files are generated by flex and your system's version differs from ours. So now I'm sure, this is issue #2834 and we still have two options
(1) pre-generate the files and add them to the port patch (2) generate the files in the build step like with libc
Greets
Christian Helmuth Genode Labs
https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users