Clipper On Line • Ver Tópico - Atualizações Harbour 3.2

Atualizações Harbour 3.2

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Atualizações Harbour 3.2

Mensagempor Itamar M. Lins Jr. » 24 Mar 2020 21:45

Ola!
 2020-03-24 23:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

  * config/linux/clang.mk
    ! fixed rule for dynamic library

  * src/3rd/png/Makefile
    + added -DPNG_ARM_NEON_OPT=0 to build flags

  * contrib/3rd/sqlite3/sqlite3.c
  * contrib/3rd/sqlite3/sqlite3.diff
    ! pacified warning

  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgwing.c
    ! fixed missing break/return in case statements - please verify it.

  * contrib/hbct/dattime3.c
    * added #define _DEFAULT_SOURCE necessay in new Linux distors

  * contrib/hblzf/3rd/liblzf/liblzf.diff
  * contrib/hblzf/3rd/liblzf/lzfP.h
    * do not use nested #define in #if statements - some C compilers do not
      support it

  * contrib/hbssl/bio.c
    ! tuned #if condition

  * contrib/hbmisc/hbeditc.c
    * simpliefied for condition and pacified warning

  * contrib/hbodbc/hbodbc.hbp
  * contrib/sddodbc/sddodbc.hbp
    + added check for iodbc library

  * utils/hbmk2/hbmk2.prg
    + added support for clang in android builds

  * include/hbdefs.h
    + added check for __BYTE_ORDER__ macro used in some new lib C
      implementations

  * include/hbapi.h
  * include/hbdefs.h
  * include/hbstack.h
  * include/hbvmpub.h
  * src/vm/classes.c
  * src/vm/dynsym.c
  * src/vm/estack.c
  * src/vm/memvars.c
    + extended the size of dynamic symbol table from 65535 to 4294967295.
      Adopting class code I decided to keep current algorithm of method indexes
      hashing with only some minor modifications. It's very fast anyhow it may
      cause noticeable (though static) quite big memory allocation for class
      definitions in applications using millions of symbols and which increase
      dynamic symbol table at runtime loading new classes dynamically form .hrb,
      .dll, .so or other dynamic libraries supported by Harbour. It's random
      and rather impossible to exploit situation in real life anyhow I cannot
      exclude it so I'd like to report it in ChangeLog. The solution is very
      simple, i.e. it's enough to use classic divide et impera algorithm using
      symbol numbers to find method definition anyhow it will be slower then
      current one and address only very seldom hypothetical situations so I
      decided to not implement it. Such static memory cost begins to be
      completely unimportant in the world of 64-bit architectures and extremely
      big memory address space.
      The modification was sponsored by TRES company.

  * src/vm/estack.c
    ! fixed __mvClear() in MT builds - due to stupid typo GetList variable
      was removed in MT programs by CLEAR MEMORY command (__mvClear())
      So far noone reported it and I've found it analyzing the code before
      increasing symbol table size.

  * contrib/hbwin/hbolesrv.c
    * updated for new size of dynamic symbol table


The dynamic symbol table: Dynamically generated from the startup subsystem
at the beginning of the application. It organizes in an efficient way the
static symbol table creating an alphabetical index that allows a dichotomic
search of symbols. This subsystem is responsible for quick access to symbols
(functions, variables, fields and work areas aliases).

Pelo que entendi, uma empresa patrocinou a modificação da quantidade de variáveis em memória, funções... conforme explicação acima.
extended the size of dynamic symbol table from 65535 to 4294967295.
Estourou a boca do balão!

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Atualizações Harbour 3.2

Mensagempor JoséQuintas » 24 Mar 2020 23:39

Só comentário:
4 bilhões de variáveis.... se cada uma tiver 1 byte, serão 4GB.
Considerando um nome de 10 letras e o valor de 1 byte.... 18GB.
É um limite pra supermáquina, e superaplicação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Atualizações Harbour 3.2

Mensagempor JoséQuintas » 25 Mar 2020 09:29

Nisso, o 3.4 tá ficando desatualizado.

Até tentei juntar as alterações do 3.2, mas fica difícil saber se vou estar corrigindo ou estragando o 3.4
Puxar automático não é problema, o problema é resolver conflitos, ou saber se está fazendo certo ou errado.

Quem tiver conhecimento:

aqui baixa o 3.4, com todo histórico
git clone endereco34 pastalocal

aqui puxa as alterações do 3.2 que ainda não entraram no 3.4, encima do 3.4
git pull endereco32 pastalocal

se conseguir resolver conflitos ok, senão, pra voltar ao 3.4 que estava antes é só digitar isto
git reset --hard HEAD

Isso vale pra fork.
Tem lá meu fork do 3.4
git clone meufork34 pastalocal
git pull endereco32 pastalocal

Se resolver conflitos:
git push

Se não resolver, volto o que estava no meu fork:
git reset --hard HEAD

Dá pra escolher quais alterações, de qual fonte, quer integrar, por fonte.
Acho que também tem a opção por commit, mas nunca fiz essa, teria que pesquisar como fazer.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Atualizações Harbour 3.2

Mensagempor JoséQuintas » 25 Mar 2020 09:41

só pra mostrar:

d:\github\harbour34>git pull https://github.com/harbour/core

From https://github.com/harbour/core
* branch                  HEAD       -> FETCH_HEAD
Auto-merging utils/hbtest/hbtest.prg
CONFLICT (content): Merge conflict in utils/hbtest/hbtest.prg
Auto-merging utils/hbmk2/hbmk2.prg
CONFLICT (content): Merge conflict in utils/hbmk2/hbmk2.prg
Auto-merging utils/hbi18n/hbi18n.prg
CONFLICT (content): Merge conflict in utils/hbi18n/hbi18n.prg
Auto-merging tests/html.prg
CONFLICT (content): Merge conflict in tests/html.prg
Auto-merging src/vm/memvars.c
Auto-merging src/vm/itemapi.c
Auto-merging src/vm/fm.c
Auto-merging src/vm/dynsym.c
Auto-merging src/vm/cmdarg.c
Auto-merging src/vm/classes.c
Auto-merging src/rtl/version.c
CONFLICT (content): Merge conflict in src/rtl/version.c
Auto-merging src/rtl/tmenusys.prg
Auto-merging src/rtl/memoedit.prg
Auto-merging src/rtl/listbox.prg
Auto-merging src/rtl/inkeyapi.c
Auto-merging src/rtl/inkey.c
Auto-merging src/rtl/hbsocket.c
Auto-merging src/rtl/hbmd5.c
Auto-merging src/rtl/hbgtcore.c
Auto-merging src/rtl/hbdef.c
CONFLICT (content): Merge conflict in src/rtl/hbdef.c
Auto-merging src/rtl/gtxwc/gtxwc.c
CONFLICT (content): Merge conflict in src/rtl/gtxwc/gtxwc.c
Auto-merging src/rtl/gtwvt/gtwvt.c
Auto-merging src/rtl/gtwin/gtwin.c
Auto-merging src/rtl/gttrm/gttrm.c
Auto-merging src/rtl/fstemp.c
Auto-merging src/rtl/dirscan.prg
Auto-merging src/rtl/arc4.c
CONFLICT (content): Merge conflict in src/rtl/arc4.c
Auto-merging src/rdd/dbf1.c
Auto-merging src/pp/hbpp.c
CONFLICT (content): Merge conflict in src/pp/hbpp.c
Auto-merging src/nortl/nortl.c
CONFLICT (add/add): Merge conflict in src/main/harbour.rc
Auto-merging src/main/harbour.rc
Auto-merging src/main/Makefile
CONFLICT (content): Merge conflict in src/main/Makefile
Auto-merging src/harbour.def
CONFLICT (content): Merge conflict in src/harbour.def
Auto-merging src/debug/dbgwa.prg
Auto-merging src/compiler/hbusage.c
CONFLICT (content): Merge conflict in src/compiler/hbusage.c
Auto-merging src/compiler/complex.c
CONFLICT (content): Merge conflict in src/compiler/complex.c
Auto-merging src/common/hbverdsp.c
CONFLICT (content): Merge conflict in src/common/hbverdsp.c
Auto-merging src/common/hbver.c
CONFLICT (content): Merge conflict in src/common/hbver.c
Auto-merging src/codepage/Makefile
Auto-merging src/3rd/zlib/ChangeLog.txt
CONFLICT (content): Merge conflict in src/3rd/zlib/ChangeLog.txt
Auto-merging src/3rd/png/Makefile
Auto-merging src/3rd/pcre/Makefile
CONFLICT (content): Merge conflict in src/3rd/pcre/Makefile
CONFLICT (modify/delete): package/winuni/mpkg_win_uni.nsi deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/winuni/mpkg_win_uni.nsi left in tree.
CONFLICT (modify/delete): package/mpkg_win.nsi deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/mpkg_win.nsi left in tree.
Auto-merging package/harbour.spec
CONFLICT (content): Merge conflict in package/harbour.spec
Auto-merging package/harbour.rc
CONFLICT (content): Merge conflict in package/harbour.rc
CONFLICT (modify/delete): package/harbour.rb deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/harbour.rb left in tree.
CONFLICT (modify/delete): package/harbour.mft deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of package/harbour.mft left in tree.
Auto-merging package/harbour-win.spec.in
CONFLICT (content): Merge conflict in package/harbour-win.spec.in
Auto-merging package/harbour-wce.spec.in
CONFLICT (content): Merge conflict in package/harbour-wce.spec.in
Auto-merging include/hbsetup.h
Auto-merging include/hbexprb.c
Auto-merging include/hbdefs.h
Auto-merging include/hbcpage.hbx
Auto-merging include/hbapigt.h
Auto-merging include/hbapi.h
Auto-merging include/harbour.hbx
CONFLICT (content): Merge conflict in include/harbour.hbx
Auto-merging extras/dbu/dbu53.patch
Auto-merging extras/dbu/dbu52.patch
Auto-merging contrib/xhb/xhbfunc.c
Auto-merging contrib/xhb/hbxml.h
Auto-merging contrib/xhb/hbxml.c
CONFLICT (content): Merge conflict in contrib/xhb/hbxml.c
Auto-merging contrib/xhb/hbserv.c
Auto-merging contrib/sddsqlt3/core.c
CONFLICT (content): Merge conflict in contrib/sddsqlt3/core.c
Auto-merging contrib/sddodbc/sddodbc.hbp
Auto-merging contrib/sddodbc/core.c
Auto-merging contrib/rddsql/sqlmix.c
Auto-merging contrib/hbzebra/tests/wingdi.prg
CONFLICT (content): Merge conflict in contrib/hbzebra/tests/wingdi.prg
Auto-merging contrib/hbzebra/tests/harupdf.prg
CONFLICT (content): Merge conflict in contrib/hbzebra/tests/harupdf.prg
Auto-merging contrib/hbzebra/tests/cairo.prg
CONFLICT (content): Merge conflict in contrib/hbzebra/tests/cairo.prg
Auto-merging contrib/hbwin/win_osc.c
Auto-merging contrib/hbwin/win_os.prg
CONFLICT (content): Merge conflict in contrib/hbwin/win_os.prg
Auto-merging contrib/hbwin/wapi_winuser_1.c
Auto-merging contrib/hbwin/wapi_shellapi.c
Auto-merging contrib/hbwin/tests/ole.prg
CONFLICT (content): Merge conflict in contrib/hbwin/tests/ole.prg
Auto-merging contrib/hbwin/hbwin.hbx
Auto-merging contrib/hbwin/hbolesrv.c
Auto-merging contrib/hbssl/sslctx.c
CONFLICT (content): Merge conflict in contrib/hbssl/sslctx.c
Auto-merging contrib/hbssl/ssl.c
CONFLICT (content): Merge conflict in contrib/hbssl/ssl.c
Auto-merging contrib/hbssl/rand.c
CONFLICT (content): Merge conflict in contrib/hbssl/rand.c
Auto-merging contrib/hbssl/pem.c
Auto-merging contrib/hbssl/hbssl.hbx
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.hbx
Auto-merging contrib/hbssl/hbssl.hbp
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.hbp
Auto-merging contrib/hbssl/hbssl.hbc
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.hbc
Auto-merging contrib/hbssl/hbssl.h
Auto-merging contrib/hbssl/hbssl.ch
CONFLICT (content): Merge conflict in contrib/hbssl/hbssl.ch
Auto-merging contrib/hbssl/evpmd.c
CONFLICT (content): Merge conflict in contrib/hbssl/evpmd.c
Auto-merging contrib/hbssl/evpenc.c
CONFLICT (content): Merge conflict in contrib/hbssl/evpenc.c
Auto-merging contrib/hbssl/evpciph.c
CONFLICT (content): Merge conflict in contrib/hbssl/evpciph.c
Auto-merging contrib/hbssl/evp.c
Auto-merging contrib/hbssl/err.c
Auto-merging contrib/hbssl/bio.c
CONFLICT (content): Merge conflict in contrib/hbssl/bio.c
Auto-merging contrib/hbodbc/hbodbc.hbp
Auto-merging contrib/hbnetio/utils/hbnetio/hbnetio.prg
CONFLICT (content): Merge conflict in contrib/hbnetio/utils/hbnetio/hbnetio.prg
Auto-merging contrib/hbnetio/utils/hbnetio/_console.prg
Auto-merging contrib/hbmisc/hbeditc.c
CONFLICT (content): Merge conflict in contrib/hbmisc/hbeditc.c
Auto-merging contrib/hblzf/3rd/liblzf/lzfP.h
CONFLICT (content): Merge conflict in contrib/hblzf/3rd/liblzf/lzfP.h
CONFLICT (modify/delete): contrib/hblzf/3rd/liblzf/liblzf.diff deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of contrib/hblzf/3rd/liblzf/liblzf.diff left in tree.
Auto-merging contrib/hbformat/utils/hbformat.prg
CONFLICT (content): Merge conflict in contrib/hbformat/utils/hbformat.prg
Auto-merging contrib/hbformat/hbfmtcls.prg
CONFLICT (content): Merge conflict in contrib/hbformat/hbfmtcls.prg
Auto-merging contrib/hbexpat/3rd/expat/xmltok.c
Auto-merging contrib/hbdoc/hbdoc.prg
CONFLICT (content): Merge conflict in contrib/hbdoc/hbdoc.prg
Auto-merging contrib/hbcurl/hbcurl.hbp
CONFLICT (content): Merge conflict in contrib/hbcurl/hbcurl.hbp
Auto-merging contrib/hbct/dattime3.c
CONFLICT (modify/delete): contrib/gtwvw/doc/gtwvw.txt deleted in HEAD and modified in 49a289a1a3d02869a60ed0117fa226f7011f5683. Version 49a289a1a3d02869a60ed0117fa226f7011f5683 of contrib/gtwvw/doc/gtwvw.txt left in tree.
Auto-merging contrib/gtwvg/wvgwing.c
CONFLICT (content): Merge conflict in contrib/gtwvg/wvgwing.c
Auto-merging contrib/gtwvg/wvgcuig.c
CONFLICT (content): Merge conflict in contrib/gtwvg/wvgcuig.c
Auto-merging contrib/gtwvg/wvgcore.c
CONFLICT (content): Merge conflict in contrib/gtwvg/wvgcore.c
Auto-merging contrib/gtwvg/wnd.prg
CONFLICT (content): Merge conflict in contrib/gtwvg/wnd.prg
Auto-merging contrib/gtwvg/paint.prg
CONFLICT (content): Merge conflict in contrib/gtwvg/paint.prg
Auto-merging contrib/gtwvg/gtwvgd.c
CONFLICT (content): Merge conflict in contrib/gtwvg/gtwvgd.c
Auto-merging contrib/gtwvg/activex.prg
CONFLICT (content): Merge conflict in contrib/gtwvg/activex.prg
Auto-merging contrib/gtqtc/gtqtc1.cpp
Auto-merging contrib/gtqtc/gtqtc.hbp
CONFLICT (content): Merge conflict in contrib/gtqtc/gtqtc.hbp
Auto-merging contrib/gtqtc/gtqtc.hbc
CONFLICT (content): Merge conflict in contrib/gtqtc/gtqtc.hbc
Auto-merging contrib/3rd/sqlite3/sqlite3.diff
CONFLICT (content): Merge conflict in contrib/3rd/sqlite3/sqlite3.diff
Auto-merging contrib/3rd/sqlite3/sqlite3.c
Auto-merging config/win/watcom.mk
Auto-merging config/win/global.mk
Auto-merging config/os2/watcom.mk
Auto-merging config/linux/watcom.mk
Auto-merging config/linux/clang.mk
CONFLICT (content): Merge conflict in config/linux/clang.mk
Auto-merging config/global.mk
CONFLICT (content): Merge conflict in config/global.mk
Auto-merging config/dos/watcom.mk
Auto-merging bin/commit.hb
CONFLICT (content): Merge conflict in bin/commit.hb
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Auto-merging ChangeLog.txt
CONFLICT (content): Merge conflict in ChangeLog.txt
Automatic merge failed; fix conflicts and then commit the result.


harbour.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Atualizações Harbour 3.2

Mensagempor JoséQuintas » 25 Mar 2020 09:50

Comentário a mais:

O GitHub mostra direitinho o que mudou?

Nem tanto, uma alteração que está sendo apresentada pode ser "desfazendo" o que o Viktor fez.
Ou até mesmo a alteração que o Viktor fez, incorporada ao 3.2 de forma diferente, não compatível com 3.4.
Com isso.... não é qualquer um que consegue continuar atualizando o 3.4.

Importante:
Tentei gerar o 3.2 aqui, por curiosidade, mas não gera.
É que achei interessante porque tem mudança até na GTWVG.

Não sei se importando um commit de cada vez seria mais fácil identificar se realmente precisa dele.
Mas não sei como fazer isso, só pesquisando como se faz no GitHub.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Atualizações Harbour 3.2

Mensagempor asimoes » 25 Mar 2020 19:35

Baixei essa atualização, mas não está funcionando o hbmk2, não acha as libs do harbour, as libs estão na pasta mas a compilação dá falta delas, deve ser algum bug, compilei usando clang
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Atualizações Harbour 3.2

Mensagempor asimoes » 25 Mar 2020 20:37

Consegui gerar o harbour 3.2 e também consegui compilar mas tive que fazer isso para gerar o executável:

{win}libpaths=D:\HARBOUR32CORE_CLANG\lib\win\clang

Informar o caminho das libs, coisa que não precisa no 3.4, mas na versão anterior do 3.2 também não precisava!
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Atualizações Harbour 3.2

Mensagempor vagucs » 26 Mar 2020 15:22

Uma coisa que deviam rever é o tamanho de campos números que é 16, se tiver uma operação de 64 buts, os ultimos 4 digitos se perdem.

64 bits maximo
18446744073709551615

Em harbour
18446744073709550000

Isso hoje, considerando aplicação 64 bits que podem surgir, o harbour vai causar muita dor de cabeça.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar de usuário

vagucs
Membro Master

Membro Master
 
Mensagens: 1466
Data de registro: 10 Jul 2004 10:45
Cidade/Estado: Ipanema - MG
Curtiu: 1 vez
Mens.Curtidas: 19 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 14 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro