Commit 95c6357a authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

Imported Upstream version 5.5.50

parent d97fe3f6
...@@ -53,8 +53,7 @@ EOF ...@@ -53,8 +53,7 @@ EOF
--replace_result $datadir <DATADIR> --replace_result $datadir <DATADIR>
--copy_file $datadir/test/t1.ibd $datadir/test/t1.ibd.save --copy_file $datadir/test/t1.ibd $datadir/test/t1.ibd.save
--remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
restart restart
EOF EOF
......
...@@ -409,3 +409,8 @@ SELECT * FROM t1 WHERE a=0.9; ...@@ -409,3 +409,8 @@ SELECT * FROM t1 WHERE a=0.9;
SELECT * FROM t1 WHERE a IN (0.8,0.9); SELECT * FROM t1 WHERE a IN (0.8,0.9);
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # MDEV-9372 select 100 between 1 and 9223372036854775808 returns false
--echo #
SELECT 100 BETWEEN 1 AND 9223372036854775808;
...@@ -220,7 +220,6 @@ SET character_set_connection = utf8; ...@@ -220,7 +220,6 @@ SET character_set_connection = utf8;
CREATE TABLE t1 ( a VARCHAR(1) ); CREATE TABLE t1 ( a VARCHAR(1) );
INSERT INTO t1 VALUES ('m'),('n'); INSERT INTO t1 VALUES ('m'),('n');
CREATE VIEW v1 AS SELECT 'w' ; CREATE VIEW v1 AS SELECT 'w' ;
--error ER_CANT_AGGREGATE_2COLLATIONS
SELECT * FROM t1 WHERE a < ALL ( SELECT * FROM v1 ); SELECT * FROM t1 WHERE a < ALL ( SELECT * FROM v1 );
drop view v1; drop view v1;
drop table t1; drop table t1;
...@@ -228,3 +227,30 @@ SET character_set_connection = default; ...@@ -228,3 +227,30 @@ SET character_set_connection = default;
SET optimizer_switch= default; SET optimizer_switch= default;
--echo #End of 5.3 tests --echo #End of 5.3 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # MDEV-10181 Illegal mix of collation for a field and an ASCII string as a view field
--echo #
SET NAMES utf8;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET latin1);
INSERT INTO t1 VALUES ('A'),('a'),('B'),('b');
CREATE VIEW v1 AS SELECT 'a';
SELECT * FROM v1,t1 where t1.a=v1.a;
DROP VIEW v1;
DROP TABLE t1;
SET NAMES utf8;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET latin1);
INSERT INTO t1 VALUES ('a'),('b'),('c');
CREATE VIEW v1 AS SELECT 'a' AS a UNION SELECT 'b';
SELECT * FROM v1,t1 WHERE t1.a=v1.a;
DROP VIEW v1;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #
...@@ -1658,6 +1658,29 @@ ALTER TABLE t1 MODIFY a TINYTEXT CHARACTER SET utf8; ...@@ -1658,6 +1658,29 @@ ALTER TABLE t1 MODIFY a TINYTEXT CHARACTER SET utf8;
SELECT OCTET_LENGTH(a),a FROM t1; SELECT OCTET_LENGTH(a),a FROM t1;
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # MDEV-8402 Bug#77473 Bug#21317406 TRUNCATED DATA WITH SUBQUERY & UTF8
--echo #
--echo #
SET NAMES utf8;
SELECT length(rpad(_utf8 0xD0B1, 65536, _utf8 0xD0B2)) AS data;
SELECT length(data) AS len FROM (
SELECT rpad(_utf8 0xD0B1, 65536, _utf8 0xD0B2) AS data
) AS sub;
SELECT length(rpad(_utf8 0xD0B1, 65535, _utf8 0xD0B2)) AS data;
SELECT length(data) AS len FROM (
SELECT rpad(_utf8 0xD0B1, 65535, _utf8 0xD0B2) AS data
) AS sub;
SELECT length(data) AS len FROM (SELECT REPEAT('ä', 36766) AS data) AS sub;
SELECT length(data) AS len FROM (SELECT REPEAT('ä', 36767) AS data) AS sub;
SELECT length(data) AS len FROM (SELECT REPEAT('ä', 36778) AS data) AS sub;
SELECT length(data) AS len FROM (SELECT REPEAT('ä', 65535) AS data) AS sub;
SELECT length(data) AS len FROM (SELECT REPEAT('ä', 65536) AS data) AS sub;
SELECT length(data) AS len FROM (SELECT REPEAT('ä', 65537) AS data) AS sub;
--echo # --echo #
--echo # End of 5.5 tests --echo # End of 5.5 tests
--echo # --echo #
...@@ -1838,6 +1838,26 @@ SELECT OCTET_LENGTH(a),a FROM t1; ...@@ -1838,6 +1838,26 @@ SELECT OCTET_LENGTH(a),a FROM t1;
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # MDEV-8402 Bug#77473 Bug#21317406 TRUNCATED DATA WITH SUBQUERY & UTF8
--echo #
--echo #
SET NAMES utf8mb4;
SELECT length(repeat(_utf8mb4 0xE29883, 21844)) AS data;
SELECT length(data) AS len
FROM ( SELECT repeat(_utf8mb4 0xE29883, 21844) AS data ) AS sub;
SELECT length(repeat(_utf8mb4 0xE29883, 21846)) AS data;
SELECT length(data) AS len
FROM ( SELECT repeat(_utf8mb4 0xE29883, 21846) AS data ) AS sub;
SELECT LENGTH(data) AS len FROM (SELECT REPEAT('☃', 21844) AS data ) AS sub;
SELECT LENGTH(data) AS len FROM (SELECT REPEAT('☃', 21845) AS data ) AS sub;
SELECT LENGTH(data) AS len FROM (SELECT REPEAT('☃', 21846) AS data ) AS sub;
SELECT LENGTH(data) AS len FROM (SELECT REPEAT('☃', 65535) AS data ) AS sub;
SELECT LENGTH(data) AS len FROM (SELECT REPEAT('☃', 65536) AS data ) AS sub;
--echo # --echo #
--echo # End of 5.5 tests --echo # End of 5.5 tests
--echo # --echo #
......
...@@ -32,3 +32,18 @@ INSERT INTO t1 VALUES(0xA3C2); ...@@ -32,3 +32,18 @@ INSERT INTO t1 VALUES(0xA3C2);
DROP TABLE t1; DROP TABLE t1;
# End of 5.1 tests # End of 5.1 tests
#
# MDEV-9986 Full-text search of the utf8mb4 column causes crash
#
create table t1 (
id varchar(255),
business_name text null collate utf8mb4_unicode_ci,
street_address text,
fulltext index ft (business_name),
fulltext index ft2 (street_address)
);
--error ER_FT_MATCHING_KEY_NOT_FOUND
select * from t1 where match (business_name, street_address) against ('some business name and address here');
select * from t1 where match (business_name, street_address) against ('some business name and address here' in boolean mode);
drop table t1;
...@@ -41,3 +41,24 @@ UPDATE t1, t2 SET t2.fld2= t2.fld2 + 3; ...@@ -41,3 +41,24 @@ UPDATE t1, t2 SET t2.fld2= t2.fld2 + 3;
UPDATE t1, t2 SET t1.fld1= t1.fld1 + 3; UPDATE t1, t2 SET t1.fld1= t1.fld1 + 3;
DROP TABLE t2, t1; DROP TABLE t2, t1;
--echo #
--echo # BUG#22037930: INSERT IGNORE FAILS TO IGNORE FOREIGN
--echo # KEY CONSTRAINT
CREATE TABLE t1 (fld1 INT PRIMARY KEY) ENGINE= INNODB;
CREATE TABLE t2 (fld1 VARCHAR(10), fld2 INT NOT NULL,
CONSTRAINT fk FOREIGN KEY (fld2) REFERENCES t1(fld1)) ENGINE= INNODB;
--echo # Without patch, reports incorrect error.
--error ER_NO_REFERENCED_ROW_2
INSERT INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def';
--error ER_NO_REFERENCED_ROW_2
REPLACE INTO t2 VALUES('abc', 2);
--enable_warnings
INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def';
--disable_warnings
DROP TABLE t2, t1;
...@@ -11,5 +11,5 @@ eval KILL QUERY $con_id; ...@@ -11,5 +11,5 @@ eval KILL QUERY $con_id;
--connection con1 --connection con1
--error ER_QUERY_INTERRUPTED --error ER_QUERY_INTERRUPTED
SHOW PROCESSLIST; SHOW PROCESSLIST;
--replace_column 1 # 3 # 6 # 7 # --replace_column 1 # 3 # 5 # 6 # 7 # 8 #
SHOW PROCESSLIST; SHOW PROCESSLIST;
...@@ -63,3 +63,22 @@ SET lc_time_names=de_AT; ...@@ -63,3 +63,22 @@ SET lc_time_names=de_AT;
SELECT monthname('2001-01-01'); SELECT monthname('2001-01-01');
SELECT monthname('2001-02-01'); SELECT monthname('2001-02-01');
SELECT monthname('2001-03-01'); SELECT monthname('2001-03-01');
--echo #
--echo # MDEV-10052 Illegal mix of collations with DAYNAME(date_field)<>varchar_field
--echo #
SET NAMES utf8;
CREATE TABLE t1 (c VARCHAR(8) CHARACTER SET latin1, d DATE);
INSERT INTO t1 VALUES ('test',now());
SET lc_time_names=ru_RU;
--error ER_CANT_AGGREGATE_2COLLATIONS
SELECT c FROM t1 WHERE DAYNAME(d)<>c;
--error ER_CANT_AGGREGATE_2COLLATIONS
SELECT c FROM t1 WHERE MONTHNAME(d)<>c;
SET lc_time_names=en_US;
SELECT c FROM t1 WHERE DAYNAME(d)<>c;
SELECT c FROM t1 WHERE MONTHNAME(d)<>c;
SET NAMES latin1;
SELECT c FROM t1 WHERE DAYNAME(d)<>c;
SELECT c FROM t1 WHERE MONTHNAME(d)<>c;
DROP TABLE t1;
...@@ -222,7 +222,6 @@ DROP TABLE t1; ...@@ -222,7 +222,6 @@ DROP TABLE t1;
# Common ciphers to openssl and yassl # Common ciphers to openssl and yassl
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA
--disable_query_log --disable_query_log
--disable_result_log --disable_result_log
......
...@@ -758,3 +758,15 @@ CREATE TABLE t1 (s VARCHAR(100)); ...@@ -758,3 +758,15 @@ CREATE TABLE t1 (s VARCHAR(100));
CREATE TRIGGER trigger1 BEFORE INSERT ON t1 FOR EACH ROW CREATE TRIGGER trigger1 BEFORE INSERT ON t1 FOR EACH ROW
SET default_storage_engine = NEW.INNODB; SET default_storage_engine = NEW.INNODB;
DROP TABLE t1; DROP TABLE t1;
#
# MDEV-8328 Evaluation of two "!" operators depends on space in beetween
#
--error ER_PARSE_ERROR
select 0==0;
select 1=!0, 1 = ! 0;
select !!0, ! ! 0;
select 2>!0, 2 > ! 0;
select 0<=!0, 0 <= !0;
select 1<<!0, 1 << !0;
select 0<!0, 0 < ! 0;
...@@ -124,12 +124,8 @@ SEND; ...@@ -124,12 +124,8 @@ SEND;
UPDATE `t``\""e` SET a = 12 WHERE a = 0; UPDATE `t``\""e` SET a = 12 WHERE a = 0;
--echo # default connection --echo # default connection
connection default; connection default;
let $wait_timeout= 2; let $wait_condition= SELECT COUNT(*)=2 FROM INFORMATION_SCHEMA.INNODB_LOCKS;
let $wait_condition= SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE ID = $id_1 AND STATE = 'Searching rows for update';
--source include/wait_condition.inc --source include/wait_condition.inc
#--echo # tested wait condition $wait_condition_reps times
# INNODB_LOCKS only exists in innodb_plugin
--sorted_result --sorted_result
SELECT lock_table, COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS SELECT lock_table, COUNT(*) FROM INFORMATION_SCHEMA.INNODB_LOCKS
GROUP BY lock_table; GROUP BY lock_table;
......
...@@ -77,12 +77,15 @@ call bug9486(); ...@@ -77,12 +77,15 @@ call bug9486();
connection con2root; connection con2root;
lock tables t2 write; lock tables t2 write;
connection con1root; connection con1root;
let $con1root_id=`SELECT CONNECTION_ID()`;
send call bug9486(); send call bug9486();
connection con2root; connection con2root;
--sleep 2
# There should be call statement in locked state. # There should be call statement in locked state.
--replace_column 1 # 3 localhost 6 # let $wait_condition=SELECT COUNT(*)=1 FROM information_schema.processlist WHERE
show processlist; id=$con1root_id AND state='Waiting for table metadata lock';
--source include/wait_condition.inc
--replace_result $con1root_id con1root_id
eval SELECT state,info FROM information_schema.processlist WHERE id=$con1root_id;
unlock tables; unlock tables;
connection con1root; connection con1root;
reap; reap;
......
--source include/have_ssl.inc
--source include/not_embedded.inc
--echo #
--echo # Bug#21920657: SSL-CA FAILS SILENTLY IF THE PATH CANNOT BE FOUND
--echo #
--echo # try to connect with wrong '--ssl-ca' path : should fail
--error 1
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1
--echo # try to connect with correct '--ssl-ca' path : should connect
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo #
--echo # Bug#21920678: SSL-CA DOES NOT ACCEPT ~USER TILDE HOME DIRECTORY
--echo # PATH SUBSTITUTION
--echo #
--let $mysql_test_dir_path= `SELECT IF(LENGTH('$HOME'), REPLACE('=$MYSQL_TEST_DIR', '=$HOME', '=~'), '=$MYSQL_TEST_DIR')`
--echo # try to connect with '--ssl-ca' option using tilde home directoy
--echo # path substitution : should connect
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
--exec $MYSQL --ssl-ca$mysql_test_dir_path/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo # try to connect with '--ssl-key' option using tilde home directoy
--echo # path substitution : should connect
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key$mysql_test_dir_path/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo # try to connect with '--ssl-cert' option using tilde home directoy
--echo # path substitution : should connect
--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert$mysql_test_dir_path/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
...@@ -388,6 +388,7 @@ drop table t1; ...@@ -388,6 +388,7 @@ drop table t1;
--echo # --echo #
--echo # MDEV-9521 Least function returns 0000-00-00 for null date columns instead of null --echo # MDEV-9521 Least function returns 0000-00-00 for null date columns instead of null
--echo # MDEV-9972 Least function retuns date in date time format
--echo # --echo #
CREATE TABLE t1 ( CREATE TABLE t1 (
id BIGINT NOT NULL, id BIGINT NOT NULL,
......
source include/not_embedded.inc;
source include/not_windows.inc;
#
# MDEV-7775 Wrong error message (Unknown error) when idle sessions are killed after wait_timeout
#
set global log_warnings=2;
connect (foo,localhost,root);
set @@wait_timeout=1;
sleep 2;
connection default;
let SEARCH_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err;
let SEARCH_RANGE= -50;
let SEARCH_PATTERN= Aborted.*Got timeout reading communication packets;
source include/search_pattern_in_file.inc;
set global log_warnings=@@log_warnings;
...@@ -19,36 +19,6 @@ ...@@ -19,36 +19,6 @@
# Suppress some common (not fatal) errors in system libraries found by valgrind # Suppress some common (not fatal) errors in system libraries found by valgrind
# #
#
# Pthread doesn't free all thread specific memory before program exists
#
{
pthread allocate_tls memory loss
Memcheck:Leak
fun:calloc
fun:_dl_allocate_tls
fun:allocate_stack
fun:pthread_create*
}
{
pthread allocate_tls memory loss
Memcheck:Leak
fun:calloc
fun:_dl_allocate_tls
fun:pthread_create*
}
{
pthread allocate_tls memory loss
Memcheck:Leak
fun:calloc
obj:/lib*/ld*.so
fun:_dl_allocate_tls
fun:pthread_create*
}
{ {
pthead_exit memory loss 1 pthead_exit memory loss 1
Memcheck:Leak Memcheck:Leak
...@@ -89,34 +59,6 @@ ...@@ -89,34 +59,6 @@
fun:_dl_map_object_from_fd fun:_dl_map_object_from_fd
} }
{
pthread allocate_dtv memory loss
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls_storage
fun:__GI__dl_allocate_tls
fun:pthread_create
}
{
pthread allocate_dtv memory loss second
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls
fun:pthread_create*
}
{
pthread memalign memory loss
Memcheck:Leak
fun:memalign
fun:_dl_allocate_tls_storage
fun:__GI__dl_allocate_tls
fun:pthread_create
}
{ {
pthread pthread_key_create pthread pthread_key_create
Memcheck:Leak Memcheck:Leak
...@@ -972,18 +914,6 @@ ...@@ -972,18 +914,6 @@
fun:nptl_pthread_exit_hack_handler fun:nptl_pthread_exit_hack_handler
} }
#
# Pthread doesn't free all thread specific memory before program exists
#
{
pthread allocate_tls memory loss in 2.6.1.
Memcheck:Leak
fun:calloc
obj:*/ld-*.so
fun:_dl_allocate_tls
fun:pthread_create*
}
{ {
memory "leak" in backtrace() of glibc 2.9 (not present in 2.13) memory "leak" in backtrace() of glibc 2.9 (not present in 2.13)
Memcheck:Leak Memcheck:Leak
...@@ -1117,3 +1047,22 @@ ...@@ -1117,3 +1047,22 @@
fun:_nss_dns_gethostbyaddr_r fun:_nss_dns_gethostbyaddr_r
fun:gethostbyaddr_r fun:gethostbyaddr_r
} }
#
# Detached threads may not complete deiniitialization by the time shutdown
# thread calls exit. This is unfortunate property of detached threads, which
# we currently can only ignore. Unfortunately there is no way to distinguish
# between false positives generated by detached threads and real memory leaks
# generated by not joined joinable threads. So we hide both cases.
#
# To avoid enumeration of the whole variety of possible traces we ignore all
# "possibly lost" blocks allocated by pthread_create (and it's callees).
#
{
Detached threads memory loss
Memcheck:Leak
match-leak-kinds:possible
...
fun:pthread_create*
}
/* /* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Copyright (c) 2000, 2013, Oracle and/or its affiliates Copyright (c) 2009, 2016, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
......
...@@ -1874,6 +1874,7 @@ void die(const char* fmt, ...) ...@@ -1874,6 +1874,7 @@ void die(const char* fmt, ...)
fprintf(stderr,"Error:"); fprintf(stderr,"Error:");
vfprintf(stderr, fmt,va_args); vfprintf(stderr, fmt,va_args);
fprintf(stderr,", errno=%d\n", errno); fprintf(stderr,", errno=%d\n", errno);
va_end(va_args);
exit(1); exit(1);
} }
......
...@@ -206,7 +206,7 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d) ...@@ -206,7 +206,7 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d)
( (
"movq %%rsp, (%[save])\n\t" "movq %%rsp, (%[save])\n\t"
"movq %[stack], %%rsp\n\t" "movq %[stack], %%rsp\n\t"
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER) #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) && !defined(__INTEL_COMPILER)
/* /*
This emits a DWARF DW_CFA_undefined directive to make the return address This emits a DWARF DW_CFA_undefined directive to make the return address
undefined. This indicates that this is the top of the stack frame, and undefined. This indicates that this is the top of the stack frame, and
...@@ -456,7 +456,7 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d) ...@@ -456,7 +456,7 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d)
( (
"movl %%esp, (%[save])\n\t" "movl %%esp, (%[save])\n\t"
"movl %[stack], %%esp\n\t" "movl %[stack], %%esp\n\t"
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER) #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) && !defined(__INTEL_COMPILER)
/* /*
This emits a DWARF DW_CFA_undefined directive to make the return address This emits a DWARF DW_CFA_undefined directive to make the return address
undefined. This indicates that this is the top of the stack frame, and undefined. This indicates that this is the top of the stack frame, and
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment