Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
b0adc47e
Commit
b0adc47e
authored
Aug 30, 2006
by
tsmith@maint2.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/50
into maint2.mysql.com:/data/localhome/tsmith/bk/50
parents
f35371b9
d5ee5049
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
196 additions
and
199 deletions
+196
-199
BUILD/SETUP.sh
BUILD/SETUP.sh
+3
-9
BUILD/check-cpu
BUILD/check-cpu
+185
-182
mysql-test/r/ctype_ucs.result
mysql-test/r/ctype_ucs.result
+7
-7
mysql-test/t/ctype_ucs.test
mysql-test/t/ctype_ucs.test
+1
-1
No files found.
BUILD/SETUP.sh
View file @
b0adc47e
#!/bin/sh
if
!
test
-f
sql/mysqld.cc
if
test
!
-f
sql/mysqld.cc
then
echo
"You must run this script from the MySQL top-level directory"
exit
1
...
...
@@ -122,12 +122,6 @@ fi
# (returns 0 if finds lines)
if
ccache
-V
>
/dev/null 2>&1
then
if
!
(
echo
"
$CC
"
|
grep
"ccache"
>
/dev/null
)
then
CC
=
"ccache
$CC
"
fi
if
!
(
echo
"
$CXX
"
|
grep
"ccache"
>
/dev/null
)
then
CXX
=
"ccache
$CXX
"
fi
echo
"
$CC
"
|
grep
"ccache"
>
/dev/null
||
CC
=
"ccache
$CC
"
echo
"
$CXX
"
|
grep
"ccache"
>
/dev/null
||
CXX
=
"ccache
$CXX
"
fi
BUILD/check-cpu
View file @
b0adc47e
...
...
@@ -3,209 +3,212 @@
# Check cpu of current machine and find the
# best compiler optimization flags for gcc
#
#
if
test
-r
/proc/cpuinfo
;
then
# on Linux (and others?) we can get detailed CPU information out of /proc
cpuinfo
=
"cat /proc/cpuinfo"
check_cpu
()
{
if
test
-r
/proc/cpuinfo
;
then
# on Linux (and others?) we can get detailed CPU information out of /proc
cpuinfo
=
"cat /proc/cpuinfo"
# detect CPU family
cpu_family
=
`
$cpuinfo
|
grep
'family'
|
cut
-d
':'
-f
2 |
cut
-d
' '
-f
2 |
head
-1
`
if
test
-z
"
$cpu_family
"
;
then
cpu_family
=
`
$cpuinfo
|
grep
'cpu'
|
cut
-d
':'
-f
2 |
cut
-d
' '
-f
2 |
head
-1
`
fi
# detect CPU family
cpu_family
=
`
$cpuinfo
|
grep
'family'
|
cut
-d
':'
-f
2 |
cut
-d
' '
-f
2 |
head
-1
`
if
test
-z
"
$cpu_family
"
;
then
cpu_family
=
`
$cpuinfo
|
grep
'cpu'
|
cut
-d
':'
-f
2 |
cut
-d
' '
-f
2 |
head
-1
`
fi
# detect CPU vendor and model
cpu_vendor
=
`
$cpuinfo
|
grep
'vendor_id'
|
cut
-d
':'
-f
2 |
cut
-d
' '
-f
2 |
head
-1
`
model_name
=
`
$cpuinfo
|
grep
'model name'
|
cut
-d
':'
-f
2 |
head
-1
`
if
test
-z
"
$model_name
"
;
then
model_name
=
`
$cpuinfo
|
grep
'cpu model'
|
cut
-d
':'
-f
2 |
head
-1
`
fi
# detect CPU vendor and model
cpu_vendor
=
`
$cpuinfo
|
grep
'vendor_id'
|
cut
-d
':'
-f
2 |
cut
-d
' '
-f
2 |
head
-1
`
model_name
=
`
$cpuinfo
|
grep
'model name'
|
cut
-d
':'
-f
2 |
head
-1
`
if
test
-z
"
$model_name
"
;
then
model_name
=
`
$cpuinfo
|
grep
'cpu model'
|
cut
-d
':'
-f
2 |
head
-1
`
fi
# fallback: get CPU model from uname output
if
test
-z
"
$model_name
"
;
then
model_name
=
`
uname
-m
`
fi
# fallback: get CPU model from uname output
if
test
-z
"
$model_name
"
;
then
model_name
=
`
uname
-m
`
# parse CPU flags
for
flag
in
`
$cpuinfo
|
grep
'^flags'
|
sed
-e
's/^flags.*: //'
`
;
do
eval
cpu_flag_
$flag
=
yes
done
else
# Fallback when there is no /proc/cpuinfo
case
"
`
uname
-s
`
"
in
FreeBSD|OpenBSD
)
cpu_family
=
`
uname
-m
`
;
model_name
=
`
sysctl
-n
hw.model
`
;;
Darwin
)
cpu_family
=
`
uname
-p
`
model_name
=
`
machine
`
;;
*
)
cpu_family
=
`
uname
-m
`
;
model_name
=
`
uname
-p
`
;
;;
esac
fi
# parse CPU flags
for
flag
in
`
$cpuinfo
|
grep
'^flags'
|
sed
-e
's/^flags.*: //'
`
;
do
eval
cpu_flag_
$flag
=
yes
done
else
# Fallback when there is no /proc/cpuinfo
case
"
`
uname
-s
`
"
in
FreeBSD|OpenBSD
)
cpu_family
=
`
uname
-m
`
;
model_name
=
`
sysctl
-n
hw.model
`
;;
Darwin
)
cpu_family
=
`
uname
-p
`
model_name
=
`
machine
`
# detect CPU shortname as used by gcc options
# this list is not complete, feel free to add further entries
cpu_arg
=
""
case
"
$cpu_family
--
$model_name
"
in
# DEC Alpha
Alpha
*
EV6
*
)
cpu_arg
=
"ev6"
;
;;
*
)
cpu_family
=
`
uname
-m
`
;
model_name
=
`
uname
-p
`
;
# Intel ia32
*
Xeon
*
)
# a Xeon is just another pentium4 ...
# ... unless it has the "lm" (long-mode) flag set,
# in that case it's a Xeon with EM64T support
if
[
-z
"
$cpu_flag_lm
"
]
;
then
cpu_arg
=
"pentium4"
;
else
cpu_arg
=
"nocona"
;
fi
;;
esac
fi
# detect CPU shortname as used by gcc options
# this list is not complete, feel free to add further entries
cpu_arg
=
""
case
"
$cpu_family
--
$model_name
"
in
# DEC Alpha
Alpha
*
EV6
*
)
cpu_arg
=
"ev6"
;
*
Pentium
*
4
*
Mobile
*
)
cpu_arg
=
"pentium4m"
;
;;
# Intel ia32
*
Xeon
*
)
# a Xeon is just another pentium4 ...
# ... unless it has the "lm" (long-mode) flag set,
# in that case it's a Xeon with EM64T support
if
[
-z
"
$cpu_flag_lm
"
]
;
then
*
Pentium
*
4
*
)
cpu_arg
=
"pentium4"
;
else
cpu_arg
=
"nocona"
;
fi
;;
*
Pentium
*
4
*
Mobile
*
)
cpu_arg
=
"pentium4m"
;
;;
*
Pentium
*
4
*
)
cpu_arg
=
"pentium4"
;
;;
*
Pentium
*
III
*
Mobile
*
)
cpu_arg
=
"pentium3m"
;
;;
*
Pentium
*
III
*
)
cpu_arg
=
"pentium3"
;
;;
*
Pentium
*
M
*
pro
*
)
cpu_arg
=
"pentium-m"
;
;;
*
Athlon
*
64
*
)
cpu_arg
=
"athlon64"
;
;;
*
Pentium
*
III
*
Mobile
*
)
cpu_arg
=
"pentium3m"
;
;;
*
Athlon
*
)
cpu_arg
=
"athlon
"
;
*
Pentium
*
III
*
)
cpu_arg
=
"pentium3
"
;
;;
*
Opteron
*
)
cpu_arg
=
"opteron
"
;
*
Pentium
*
M
*
pro
*
)
cpu_arg
=
"pentium-m
"
;
;;
*
Athlon
*
64
*
)
cpu_arg
=
"athlon64"
;
;;
*
Athlon
*
)
cpu_arg
=
"athlon"
;
;;
*
Opteron
*
)
cpu_arg
=
"opteron"
;
;;
# Intel ia64
*
Itanium
*
)
# Don't need to set any flags for itanium(at the moment)
cpu_arg
=
""
;
;;
# Intel ia64
*
Itanium
*
)
# Don't need to set any flags for itanium(at the moment)
cpu_arg
=
""
;
;;
#
*
ppc
*
)
cpu_arg
=
'powerpc'
;;
*
powerpc
*
)
cpu_arg
=
'powerpc'
;;
#
*
ppc
*
)
cpu_arg
=
'powerpc'
;;
*
powerpc
*
)
cpu_arg
=
'powerpc'
;;
# unknown
*
)
cpu_arg
=
""
;
;;
esac
if
test
-z
"
$cpu_arg
"
;
then
echo
"BUILD/check-cpu: Oops, could not find out what kind of cpu this machine is using."
check_cpu_cflags
=
""
return
fi
# different compiler versions have different option names
# for CPU specific command line options
if
test
-z
"
$CC
"
;
then
cc
=
"gcc"
;
else
cc
=
$CC
fi
cc_ver
=
`
$cc
--version
|
sed
1q
`
cc_verno
=
`
echo
$cc_ver
|
sed
-e
's/[^0-9. ]//g; s/^ *//g; s/ .*//g'
`
case
"
$cc_ver
--
$cc_verno
"
in
*
GCC
*
)
# different gcc backends (and versions) have different CPU flags
case
`
gcc
-dumpmachine
`
in
i?86-
*
)
case
"
$cc_verno
"
in
3.4
*
|
3.5
*
|
4.
*
)
check_cpu_args
=
'-mtune=$cpu_arg -march=$cpu_arg'
;;
*
)
check_cpu_args
=
'-mcpu=$cpu_arg -march=$cpu_arg'
;;
esac
;;
ppc-
*
)
check_cpu_args
=
'-mcpu=$cpu_arg -mtune=$cpu_arg'
;;
x86_64-
*
)
check_cpu_args
=
'-mtune=$cpu_arg'
;;
*
)
check_cpu_cflags
=
""
return
;;
esac
;;
2.95.
*
)
# GCC 2.95 doesn't expose its name in --version output
check_cpu_args
=
'-m$cpu_arg'
;;
*
)
# unknown
*
)
cpu_arg
=
""
;
;;
esac
if
test
-z
"
$cpu_arg
"
;
then
echo
"BUILD/check-cpu: Oops, could not find out what kind of cpu this machine is using."
>
&2
check_cpu_cflags
=
""
return
;;
esac
# now we check whether the compiler really understands the cpu type
touch
__test.c
while
[
"
$cpu_arg
"
]
;
do
echo
-n
testing
$cpu_arg
"... "
# compile check
check_cpu_cflags
=
`
eval echo
$check_cpu_args
`
if
$cc
-c
$check_cpu_cflags
__test.c 2>/dev/null
;
then
echo
ok
break
;
fi
echo
failed
check_cpu_cflags
=
""
# different compiler versions have different option names
# for CPU specific command line options
if
test
-z
"
$CC
"
;
then
cc
=
"gcc"
;
else
cc
=
$CC
fi
# if compile failed: check whether it supports a predecessor of this CPU
# this list is not complete, feel free to add further entries
case
"
$cpu_arg
"
in
# Intel ia32
nocona
)
cpu_arg
=
pentium4
;;
prescott
)
cpu_arg
=
pentium4
;;
pentium4m
)
cpu_arg
=
pentium4
;;
pentium4
)
cpu_arg
=
pentium3
;;
pentium3m
)
cpu_arg
=
pentium3
;;
pentium3
)
cpu_arg
=
pentium2
;;
pentium2
)
cpu_arg
=
pentiumpro
;;
pentiumpro
)
cpu_arg
=
pentium
;;
pentium
)
cpu_arg
=
i486
;;
i486
)
cpu_arg
=
i386
;;
# power / powerPC
7450
)
cpu_arg
=
7400
;;
*
)
cpu_arg
=
""
;;
cc_ver
=
`
$cc
--version
|
sed
1q
`
cc_verno
=
`
echo
$cc_ver
|
sed
-e
's/[^0-9. ]//g; s/^ *//g; s/ .*//g'
`
case
"
$cc_ver
--
$cc_verno
"
in
*
GCC
*
)
# different gcc backends (and versions) have different CPU flags
case
`
gcc
-dumpmachine
`
in
i?86-
*
)
case
"
$cc_verno
"
in
3.4
*
|
3.5
*
|
4.
*
)
check_cpu_args
=
'-mtune=$cpu_arg -march=$cpu_arg'
;;
*
)
check_cpu_args
=
'-mcpu=$cpu_arg -march=$cpu_arg'
;;
esac
;;
ppc-
*
)
check_cpu_args
=
'-mcpu=$cpu_arg -mtune=$cpu_arg'
;;
x86_64-
*
)
check_cpu_args
=
'-mtune=$cpu_arg'
;;
*
)
check_cpu_cflags
=
""
return
;;
esac
;;
2.95.
*
)
# GCC 2.95 doesn't expose its name in --version output
check_cpu_args
=
'-m$cpu_arg'
;;
*
)
check_cpu_cflags
=
""
return
;;
esac
done
rm
__test.
*
# now we check whether the compiler really understands the cpu type
touch
__test.c
while
[
"
$cpu_arg
"
]
;
do
# FIXME: echo -n isn't portable - see contortions autoconf goes through
echo
-n
testing
$cpu_arg
"... "
>
&2
# compile check
check_cpu_cflags
=
`
eval echo
$check_cpu_args
`
if
$cc
-c
$check_cpu_cflags
__test.c 2>/dev/null
;
then
echo
ok
>
&2
break
;
fi
echo
failed
>
&2
check_cpu_cflags
=
""
# if compile failed: check whether it supports a predecessor of this CPU
# this list is not complete, feel free to add further entries
case
"
$cpu_arg
"
in
# Intel ia32
nocona
)
cpu_arg
=
pentium4
;;
prescott
)
cpu_arg
=
pentium4
;;
pentium4m
)
cpu_arg
=
pentium4
;;
pentium4
)
cpu_arg
=
pentium3
;;
pentium3m
)
cpu_arg
=
pentium3
;;
pentium3
)
cpu_arg
=
pentium2
;;
pentium2
)
cpu_arg
=
pentiumpro
;;
pentiumpro
)
cpu_arg
=
pentium
;;
pentium
)
cpu_arg
=
i486
;;
i486
)
cpu_arg
=
i386
;;
# power / powerPC
7450
)
cpu_arg
=
7400
;;
*
)
cpu_arg
=
""
;;
esac
done
rm
__test.
*
}
check_cpu
mysql-test/r/ctype_ucs.result
View file @
b0adc47e
...
...
@@ -734,26 +734,26 @@ drop table if exists bug20536;
set names latin1;
create table bug20536 (id bigint not null auto_increment primary key, name
varchar(255) character set ucs2 not null);
insert into `bug20536` (`id`,`name`) values (1, _latin1 x'7465737431
1a
'), (2, "'test\\_2'");
insert into `bug20536` (`id`,`name`) values (1, _latin1 x'7465737431'), (2, "'test\\_2'");
select md5(name) from bug20536;
md5(name)
3417d830fe24ffb2f81a28e54df2d1b3
f4b7ce8b45a20e3c4e84bef515d1525c
48d95db0d8305c2fe11548a3635c9385
select sha1(name) from bug20536;
sha1(name)
72228a6d56efb7a89a09543068d5d8fa4c330881
e0b52f38deddb9f9e8d5336b153592794cb49baf
677d4d505355eb5b0549b865fcae4b7f0c28aef5
select make_set(3, name, upper(name)) from bug20536;
make_set(3, name, upper(name))
test1
,TEST1
test1
,TEST1
'test\_2','TEST\_2'
select export_set(5, name, upper(name)) from bug20536;
export_set(5, name, upper(name))
test1
,TEST1,test1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1
test1
,TEST1,test1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1
'test\_2','TEST\_2','test\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2'
select export_set(5, name, upper(name), ",", 5) from bug20536;
export_set(5, name, upper(name), ",", 5)
test1
,TEST1,test1,TEST1,TEST1
test1
,TEST1,test1,TEST1,TEST1
'test\_2','TEST\_2','test\_2','TEST\_2','TEST\_2'
select password(name) from bug20536;
password(name)
...
...
@@ -769,7 +769,7 @@ SA5pDi1UPZdys
SA5pDi1UPZdys
select quote(name) from bug20536;
quote(name)
????????
??
????????
????????????????
drop table bug20536;
End of 4.1 tests
...
...
mysql-test/t/ctype_ucs.test
View file @
b0adc47e
...
...
@@ -477,7 +477,7 @@ drop table if exists bug20536;
set
names
latin1
;
create
table
bug20536
(
id
bigint
not
null
auto_increment
primary
key
,
name
varchar
(
255
)
character
set
ucs2
not
null
);
insert
into
`bug20536`
(
`id`
,
`name`
)
values
(
1
,
_latin1
x
'7465737431
1a
'
),
(
2
,
"'test
\\
_2'"
);
insert
into
`bug20536`
(
`id`
,
`name`
)
values
(
1
,
_latin1
x
'7465737431'
),
(
2
,
"'test
\\
_2'"
);
select
md5
(
name
)
from
bug20536
;
select
sha1
(
name
)
from
bug20536
;
select
make_set
(
3
,
name
,
upper
(
name
))
from
bug20536
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment